1、当需要处理一个Bug iss120时,可以新建一个分支并拉取
$ git checkout -b iss120
Switched to a new branch "iss120"
它是下面两条命令的简写:
// 新建
git branch iss120
// 拉取
git checkout iss120
2、在修改iss120的过程中 突然有个紧急的bug,需要修改:
先提交手头正在进行的 iss120 分支代码 ,之后切换到master分支,再新建一个 hotfix 分支
// 先提交 iss120 修改的代码
git commit -a -m "先暂停iss120问题的修复"
// 切换到 master 分支
git checkout master
// 新建hotfix 分支修改 紧急的代码
git branch hotfix
// 切换到 hotfix 分支
git checkout hotfix
3、 紧急bug 修改完成之后
// 提交hotfix分支
git commit -a -m "hotfix 修改完成"
// 合并到主分支
git checkout master
git merge hotfix
4、修改hotfix 分支合并到主分支之后,hotfix 分支就可删除了
// 删除 hotfix 分支
git branch -d hotfix
注意:不能在当前分支(hotfix),删除当前的分支(hotfix),否则:
error: Cannot delete branch
5、现在需要把hotfix 修改的内容同步到 iss120分支上,有两种方法:
1.切换到iss120分支 meger master 分支的代码
git checkout iss120
git merge master
2.切换到iss120分支,继续在iss120上面开发,待iss120修改完成后merge到master 分支上
git checkout iss120
git commit -a -m "iss120修复完成"
git checkout master
git merge iss120