当前位置:   article > 正文

git 如何合并 commit ?(必看篇)_git 合并commit

git 合并commit

项目协作

在项目开发时,每天会提交大量的代码,也会有很多 commit 记录,那么要不要处理这些 commit 记录。
当然不处理这些 commit 记录也能进行代码合并,就是记录有点多,并且每个 commit 可能获知的信息不那么全,如果合并一下这些 commit 并添加一些这些 commit 的总的概览,这样看起来 commit 记录也少了很多,并且都是有用的提交记录。

合并 commit

git log: 查看提交历史
在这里插入图片描述
上述有五个 commit 记录。如果我想合并四个 commit 记录:
git rebase -i HEAD~4 合并前面四个 commit 记录
也可以指定合并某个版本之前的版本:git rebase -i 3a4226b 但不包含 3a4226b,至合并他之前的。
执行了 rebase 之后会弹出一个窗口,让你选择合并哪些 commit 记录

pick 3ca6ec3   '注释**********'

pick 1b40566   '注释*********'

pick 53f244a   '注释**********'
  • 1
  • 2
  • 3
  • 4
  • 5

需要把 pick 改为 s 或 squash,需要留第一个,第一个不要改,意思是下面的 commit 记录都合并到第一个上面去。

pick 3ca6ec3   '注释**********'

s 1b40566   '注释*********'

s 53f244a   '注释**********'
  • 1
  • 2
  • 3
  • 4
  • 5

保存退出,按下 esc 再按 :然后输入 wq 或 x 保存
如果有冲突,可以先解决冲突,解决完之后执行:
git add .
git rebase --continue

如果不想执行或者想放弃的话可以执行:
git rebase --abort

如果没有冲突,或者冲突已经解决,会弹出窗口,让你注释掉一些提交记录,这里是让我们编辑自己合并的这些记录的概览,如:完成了什么功能,按照实际情况填写。

# This is a combination of 4 commits.  
# 写上合并的这些 commit 做了什么事,如:
完成了 api 的编写:
	1. 完成了用户相关的 api 编写
	2. 完成了用户列表相关 api 编写

# 下面的都注释
# The first commit’s message is:  
# 注释......
# The 2nd commit’s message is:  
# 注释......
# The 3rd commit’s message is:  
# 注释......
# Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

保存退出,按下 esc 再按 :然后输入 wq 或 x 保存
如图:有 Successfully rebased and updated 字样就代表合并成功了
在这里插入图片描述

提交合并之后的 commit

上述操作完成之后可以执行 git log 看看记录。
原来五条,合并了前面四条,还有两条。
在这里插入图片描述
如何提交?
合并之后由于 commit 记录发生了变基,需要使用 -f 关键字提交,由于我们都是在自己分支开发,不会覆盖其他人提交的记录,如果在主分支请谨慎使用 -f 提交,因为会覆盖别人的代码。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/68080
推荐阅读
相关标签
  

闽ICP备14008679号