赞
踩
基本步骤与分支策略有关,此处以项目有稳定发布主分支,开发人员在同一个特性分支上做开发,单独拉取分支解决缺陷 bug为例。
总体分为三个步骤
首先需要以当前主开发分支即特性分支为基础,创建缺陷修复分支
git clone ssh://git@xxxx/project.git
git checkout feature-xxx
git branch feature-xxx-bug-fix
此时分支只存在于本地仓库 因此还需要进行后续操作
4. 切换到此分支,并将分支推送到远端仓库
git checkout feature-xxx-bug-fix # 切换到缺陷修复分支
git push -u origin feature-xxx-bug-fix # 将在远端仓库创建此分支
修改完代码后,需要将代码推送到远端,然后合并入主开发分支。
有些 Git 管理合并分支的要求是:待合并分支的提交历史不能落后主开发分支太多,否则无法完成合并。因此还需要与主开发分支同步。
基本操作步骤如下:
git status
git stash
git pull
git merge origin/feature-xxx
此处也可以使用 git rebase
, 若刚入门不建议使用
git stash pop
此处如果修改同一个文件则需要处理冲突,可以使用 vscode 的扩展 GitLens
如 vscode 不能自行下载,则可访问官网 vscode 插件下载地址:
https://marketplace.visualstudio.com/vscode
使用 vscode 打开根目录,切换到冲突文件,会出现大致如下情况。另一位或多位开发修改了相同的位置。
如上图,第一行标红处
Accept Current Change 仅保留别人的修改
Accept Incoming Change 仅保留自己的修改
Accept Both Changes 两者都保留
视具体情况而定。
git add -u
-u
表示 update 仅更新
若有添加文件则需要添加文件路径
git add 文件路径
git commit -m "修复xx缺陷"
git push
由于在 I 中已经指定了推送的远端分支,这里可以省去 -u origin 推送分支
。
此处需要在 Web 端操作,以 GitLab 为例,需要创建 Merge Request (合并请求) ,此处可以设置 合并选项 (Merge options) 如下图
Delete source branch when merge request is accepted (接受合并请求时删除源分支),如果此缺陷已经完全修复则可以勾选。
Squash commits when merge request is accepted (接受合并请求时压缩提交),如果此缺陷提交 (commit) 了多次的修改,为了避免主分支提交记录杂乱,可以勾选此选项,用于压缩为主开发分支的一条提交记录。
参考链接: https://git-scm.com/book/zh/v2 - [Git 官网操作手册]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。