Git使用rebase合并多个commit
2017-08-31 13:57
302 查看
原文链接:http://www.jianshu.com/p/964de879904a
在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。
首先假设我们有3个 commit
我们需要将
其中,
可以看到其中分为两个部分,上方未注释的部分是填写要执行的指令,而下方注释的部分则是指令的提示说明。指令部分中由前方的命令名称、commit hash 和 commit message 组成。
当前我们只要知道
我们将
这是我们会看到 commit message 的编辑界面
其中, 非注释部分就是两次的 commit message, 你要做的就是将这两个修改成新的 commit message。
输入
注意事项:如果这个过程中有操作错误,可以使用
作者:_Ryeeeeee
链接:http://www.jianshu.com/p/964de879904a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
在使用 Git 作为版本控制的时候,我们可能会由于各种各样的原因提交了许多临时的 commit,而这些 commit 拼接起来才是完整的任务。那么我们为了避免太多的 commit 而造成版本控制的混乱,通常我们推荐将这些 commit 合并成一个。
首先假设我们有3个 commit
我们需要将
2dfbc7e8和
c4e858b5合并成一个 commit,那么我们输入如下命令:
其中,
-i的参数是不需要合并的 commit 的 hash 值(也就是我们要rebase到的commit对象),这里指的是第一条 commit, 接着我们就进入到
vi的编辑模式:
可以看到其中分为两个部分,上方未注释的部分是填写要执行的指令,而下方注释的部分则是指令的提示说明。指令部分中由前方的命令名称、commit hash 和 commit message 组成。
当前我们只要知道
pick和
squash这两个命令即可。
pick的意思是要会执行这个 commit
squash的意思是这个 commit 会被合并到前一个commit
我们将
c4e858b5这个 commit 前方的命令改成
squash或
s,然后输入
:wq以保存并退出
这是我们会看到 commit message 的编辑界面
其中, 非注释部分就是两次的 commit message, 你要做的就是将这两个修改成新的 commit message。
输入
wq保存并推出, 再次输入
git log查看 commit 历史信息,你会发现这两个 commit 已经合并了。
注意事项:如果这个过程中有操作错误,可以使用
git rebase --abort来撤销修改,回到没有开始操作合并之前的状态。
作者:_Ryeeeeee
链接:http://www.jianshu.com/p/964de879904a
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- 使用git的cherry-pick命令把其他分支的某个commit合并到当前分支
- git rebase 使用[将其它分支合并到本分支]
- Git开发时多分支防止多次提交版本线,使用cherry-pick、合并commit实现多次修改关联iusses
- git中各个commit节点的查询 回溯 与 合并:git rebase与git reset
- git rebase 合并多个 Commit
- git rebase -i 合并commit
- git合并多个commit的方法: git rebase -i
- git 合并分支出现 Please enter a commit message to explain why this merge is necessary.
- Android studio怎么使用git获取最新内容然后合并?
- Git 分支合并(单文件合并,单commit合并)
- 第一次使用git,撤销git add操作 (undo git add before commit)
- Git下使用Beyond Compare作为比较和合并工具
- 「Git」合并多个 Commit
- git merge 与 rebase 的使用场景分析
- Git代码合并Merge还是Rebase
- Eclipse上GIT插件EGIT使用手册之九_Rebase和Merge的区别
- 项目管理---git----快速使用git笔记(七)------coding.net项目管理多人操作的流程规范--合并代码审核
- 如何使用sourcetree 或 IDEA 自带的git合并代码?
- git中将多次commit合并为一次commit
- 使用git status快速commit