【发布时间】:2016-03-07 14:23:57
【问题描述】:
与 Git 交互式 rebase 中的 drop 和仅删除提交的行有什么区别?
【问题讨论】:
标签: git git-rebase
与 Git 交互式 rebase 中的 drop 和仅删除提交的行有什么区别?
【问题讨论】:
标签: git git-rebase
默认没有区别;这只是说同一件事的另一种方式。
但是,如果您将rebase.missingCommitsCheck 设置为warn 或error,则删除一行将触发警告(用于检测混乱的剪切和粘贴)。
然后将该行设置为 drop 明确告诉 Git 你想放弃该提交,并且不会显示任何警告。
【讨论】:
还有其实还有一个小区别:
您可以显式“删除”所有提交。效果与重置相同。
但是,如果你只是删除所有行,那么 git 会告诉你“无事可做”。
在这种情况下,通常你不会使用 rebase。只有当我尝试向使用虚拟提交的同事解释使用 rebase 删除提交时,我才知道其中的区别。
【讨论】:
将提交标记为drop 与删除该行相同。
提交将被删除/忽略。
查看何时向下滚动:
如果您在此处删除一行,COMMIT 将会丢失。
在2.6.0-rc1中添加了drop命令:
“git rebase -i”学习了“drop commit-object-name subject”命令 作为跳过重播提交的另一种方式。
【讨论】: