现象:gitee上提交了好几笔代码,但是都是修改的同一个文件;
目的:如何把这几笔提交融合到一笔中,减少commit信息;
实现:
例子:
1.使用git log命令查看自己的提交:
修改内容是:
(1)fbee242b3 修改内容:
(2)3a118a0 修改内容:
最新的两笔提交都是修改的lcr*.bb文件,那么想把这两笔合并成一笔,需要进行如下操作:
1.进行rebase操作:
(1)1复制你需要合并到的commit id,比如此次:fbee242b3
(2)git rebase -i xxx
git rebase -i fbee242b3
其中 xxx 为不需要合并的提交。其中,-i 的参数是不需要合并的 commit 的 hash 值。
也可以使用相对提交,例如我需要合并最近2次提交可以使用(倒数第三次之后的提交会合并,不合并第三次)
git rebase -i HEAD^^^
执行这个命令后,会进入历史提交的编辑页面,此时编辑方式为vim,具体如下:
从上面可以看出,最新一次提交的信息;那么需要把3a118a0 合并到fbee242b3中,需要使用squash 关键字:
备注:
pick
的意思是要执行这个 commit
squash
的意识是这个 commit
会被合并到前一个 commit
(3)squash关键字修改合并信息:
修改最新的提交为squash
,意思是和前一次提交合并。 然后按i开始编辑,删除pick
,插入squash
如下:
然后,按esc
退出编辑,再按:
,输入wq
保存。 若无冲突或者冲突已 fix,则会出现一个 commit message
编辑页面,修改 commit message ,然后保存退出。
备注:如果wq报存后,有错误,则可以执行下边命令,再次修改:
执行git rebase --edit-todo 再次进入vim界面进行编辑;
需要修改下这个提交信息,也可以不修改这个提交信息;
wq保存后,会出现successfully字样:
问题:
git 会压缩提交历史,若有冲突,需要进行修改,修改的时候保留最新的历史记录,修改完之后输入以下命令:
git add .
git rebase --continue
若想退出放弃此次压缩,执行命令:git rebase --abort
(4)同步到远程仓库
输入:git push -f
或者 git push --force
查看远程仓库效果,多次 commit 已被合并成一次 commit:
文章来源地址https://www.toymoban.com/news/detail-424602.html
文章来源:https://www.toymoban.com/news/detail-424602.html
到了这里,关于如何把gitee上多次提交的代码合并成一笔提交的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!