繁体   English   中英

Git 压缩特定提交

[英]Git squash specific commits

我使用 rebase 工具来压缩最后 3 次提交,我错误地使用 git rebase -i HEAD~4 这个命令打开了 VI 交互工具,如下所示


d 041a84a Fix docs buil(#4)
p 8896b6d handle users
s 8759e73 add new users
s b485efd add phones


该041a84a是没有关系的,我将其标记为d ,但不知道是否会从这个分支删除它,只有当我提交给它STILL R EMOVE它,我不想师傅师傅,我只是想删除它从我的分支...如果我可以退出 VI 工具并将其更改为git rebase -i HEAD~3 ??

如果我正确理解你的问题,你的状态是这样的:

master :     --A--B 
branch :          \--C--C'--C"

在哪里:
B是 041a84a ;
C是 8896b6d ;
C'C"必须被压扁。

现在,如果你申请

d B  Fix docs buil(#4)
p C  handle users
s C' add new users
s C" add phones

这应该导致分支看起来像:

master :    --A--B 
branch :       \--C*

这意味着 master不会被更改,只会更改您当前正在 rebase 的分支的历史记录。

最后,回答“如果我可以退出 VI 工具并将其更改为 git rebase -i HEAD~3”
不用写q就可以退出VI 然后你可以自由地做git rebase -i HEAD~3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM