在项目开发中使用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查看存储列表列表

四、清除仓库的所有历史记录

git 仓库累积了太多无用的历史更改,使用git log 查看只有一条日志信息,步骤如下:

1、用master分支举例,关键:orphan作用是新建一个没有日志干净的分支
git checkout --orphan test_branch

2、添加并提交所有代码
git add .
git commit -m "日志信息"

3、删除master分支
git branch -D master

4、更名分支为master
git branch -m master

5、提交到远程 -f 推送到远程仓库,并覆盖, 如果新仓库就用 -u 提交到远程
git push -f origin master
posted @ 2020-12-30 15:49  smile_or  阅读(358)  评论(0编辑  收藏  举报