盛年不重来,一日难再晨,及时当勉励,岁月不待人。这篇文章主要讲述GitBash教程 使用 git rebase合并commit相关的知识,希望能为你提供帮助。
事情是这样的。我写了个笔记,每日频繁提交。今天一看,好家伙居然这么多提交记录,所以想精简一下。比如把“看完4.1”“看完4.2”等等合并成“看完第四章。”
现在来合并一下这两个:
文章图片
现在对其进行修改。
1. 查看提交信息使用
git log
可以查看当前仓库的所有提交信息。2. 修改提交信息
git rebase -i HEAD~n
【GitBash教程 使用 git rebase合并commit】是按照时间顺序由近到远显示最近提交的n条commit。
比如git rebase -i HEAD~3< br/>
会进入vim模式,英文状态下输入:q
即可退出。
文章图片
因为我要合并的信息是最开始的两条。最近三条信息铁定是看不到的。
git rebase -i --root
这个是从远到近列出所有的commit信息。
文章图片
看一下提示信息:
- pick就是默认采用这个commit,不用管他
- edit就是对这条进行修改
- s就是合并
- f也是合并,但是只保留最前边的commit信息。如果加上-c那只保留最新的commit信息
squash说一下
squash
的原理,是把修改为s的commit合并到他之前的commit中。比如:文章图片
现在来试一下。在英文输入的状态下按< kbd> i< /kbd> 进入编辑模式,把pick修改为s。修改完毕之后< kbd> Esc< /kbd> 退出编辑模式。
再按< kbd> :< /kbd> ,输入< kbd> wq< /kbd> 保存修改并退出文件。
然后你就会进入合并之后的commit文件,它会显示合并之后的内容,第一条commit,第二条commit。
文章图片
当然你也可以对内容进行修改。我现在只保留第一条的commit。修改完毕之后也是< kbd> Esc< /kbd> 退出编辑模式。输入< kbd> :wq< /kbd> 。
文章图片
修改完毕之后
git push origin master -f
。文章图片
现在看一下,已经合并成功了。
fixupfixup的原理是合并好几个commit,但是最后只保留一个的信息。
如果你用
f
,那最后所有的信息都会合并到前一个commit,并且保存最远的那个commit。如图,将4.3、4.6、5前边都改为f,那他们三个最终会合并到3里边。
文章图片
合并之后只剩下3 的commit。
文章图片
如果将
f
改为f -c
,还是会合并到前一个commit,但是会保存最近的commit信息。修改完后记得
git push origin master -f
。推荐阅读
- Windows 服务器登录出现 Bad request timesstamp报错
- Lenove ideapad 510进入BIOS修改Virtualiation设置
- #yyds干货盘点#组策略更新失败(windows无法定位目录对象...)
- 网络布线和数控转换
- 123123123123123
- #yyds干货盘点#认识Golang中的数组类型
- SpringBoot加email服务,你说有没有搞头()
- Flutter 专题16 图解 ListView下拉刷新与上拉加载#yyds干货盘点#
- NLP 中文形近字相似度算法开源实现