Git 交互式 rebase 中的 drop和只删除提交行的 drop有什么区别?
drop
将提交标记为 drop与删除该行相同。
提交将被删除/忽略。
看你什么时候向下滚动:
如果删除这里的一行,则提交将丢失。
在 2.6.0-rc1中添加了 drop 命令:
“ git rebase-i”学会了“ drop commit-object-name subject”命令 作为跳过重播提交的另一种方法。
默认情况下没有区别; 这只是说同样事情的另一种方式。
但是, 如果将 rebase.missingCommitsCheck设置为 warn或 error,那么删除一行将触发警告(对于检测混乱的剪切和粘贴非常有用)。
rebase.missingCommitsCheck
warn
error
然后将该行设置为 drop显式地告诉 Git 您想删除该提交,并且不会显示任何警告。
这里 是实际上还有一个小小的区别:
您可以显式地“删除”所有提交。效果将与重置相同。
但是,如果您只是删除所有行,那么 git 将告诉您“无需做任何事情”。
在这种情况下,通常不会使用 rebase。只有当我试图向同事解释使用虚拟提交删除带有 rebase 的提交时,我才了解到这种差异。