目标
我想使用 rebase 修改最近的提交。神奇的命令是git rebase -i
假设您正在尝试删除提交问题
- 首先,找出该提交有多远(大约)。然后做:
- git rebase -i HEAD~10
-来源:
Greg Hewgill对一个不太复杂的 git 问题的回答
问题
效果很好,除非你最近做了任何 --no-ff 合并
如果你碰巧遵循git flow,你会一直做 --no-ff 合并
- 检查下面的“来源”部分以获取有关rebase -i 炸毁 --no-ff 合并的方式和原因的示例
- 现在,请相信我(或自己尝试):它不漂亮
实际问题
如果我们查看此页面,我们会看到一个--preserve-merges
(或简单的-p
)选项,我们可以尝试将其替换-i
为
问题是,如果我们这样做,我们将不再收到-i
以前那种漂亮的弹出窗口
-> 可以选择“编辑此提交,挤压那个”等。-
> 所以,我们可以' t 达到我们最初的目标:使用 rebase 修改/删除一些最近的提交 :(
那么我们该怎么办?
来源
问题部分:
- 变基谋杀的第一个例子--no-ff 提交
- 第二个例子
- 他的引述:“TL;DR 版本是这样的:当变基时,总是使用 -p 标志”