一、dev分支上的所有commit合并为一条commit提交到master
1、dev分支开发完成并提交到远程后,切换到master分支上
git checkout master
git pull
2、一次性合并dev上所有的提交
git merge --squash dev
3、commit提交,并push到远程
git commit -m "XXX版本"
git push
注:还有一种方法就是通过rebase来做合并:git rebase -i master
二、master上新建issue-001分支修复bug,并删除
建议都在本地完成,如果修复内容过多,也可以提交到远程仓库,可能会用到的命令:
- 第一次提交到远程仓库,需要:git push -u origin issue-001
- 删除远程仓库的分支:git push origin -d issue-001
1、在master分支上,新建issue-001分支并切换
git checkout master
git checkout -b issue-001
2、修改完bug后,提交
git add .
git commit -m "001bug已修复"
3、切换到master分支,完成合并,最后删除issue-001
git checkout master
git merge --no-ff -m "合并bug001分支" issue-001
git branch -d issue-001
注:--no-ff 可以保存之前的分支历史,使用git log --graph可以查看
三、当前正在dev上进行的工作还没有提交,但是需要切换到master新建分支修复bug
如果当前分支上的修改不进行提交,是不能切换到其他分支上的.
1、可以使用git stash 把工作现场 "储藏起来",
git add . //确保所有文件都被git管理
git stash
git stash list //查看存储列表
2、存储之后,查看工作区,是干净的, 就可以切换到其他分支修复bug了
git status
.... //重复第二步骤
3、dev如果需要同步master修复后的代码,可以在这里进行, 不需要合并,则跳过这一步
git checkout dev
git merge master
4、恢复现场使用git stash pop,继续工作。
git checkout dev
git stash pop //好处就是恢复的时候,可以删掉存储列表。
注:git stash list查看存储列表列表