在项目开发中使用git常见操作

一、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查看存储列表列表

原文地址:https://www.cnblogs.com/sgs123/p/14211814.html