git合并多个commit
git 合并多个 commit
#参考文章:
https://segmentfault.com/a/1190000007748862
#参考视频:
1,背景
在项目中遇到了要把多个 commit 合并为一个 commit,简洁明了。此处实践一下。
2,过程
我们来模拟一下整个过程:
1 | #git-merge-commit-demo |
比如说我们用 abcde 来模拟 5 次分别的 commit,查看记录:
1 | git log --oneline |
如果我们要合并 a,b,c,d,e,则我们需要找到 a 前面一个的序号,即初始化:e074190,然后我们执行最关键的一步操作,
1 | git rebase -i e074190 |
然后我们会进入这样一个输入框:(下面的#全是注释,不用管)
我们要使用其中的 s,把 bcde 的 pick 改成 s 即可,注意不要改 a 的
按 i 进入插入模式,更改之后 esc,:wq 保存
我们将之前的都删掉,写上合并之后的新的即可,
此时我们再看一下日志,就只剩下合并的了
我们在远程同步一下,
视图变为:
3,注意点
在实际实践的时候,我们可能会碰到这样的问题:
我们需要把文件先 stash 起来,
1 | git stash |
在合并之后,进行恢复:
1 | git stash pop |
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment