Bash 在重新基址时自动删除还原的提交
有没有办法在重定基址时自动删除还原的提交 git日志:(从最近到旧) 我能去吗Bash 在重新基址时自动删除还原的提交,bash,git,git-rebase,Bash,Git,Git Rebase,有没有办法在重定基址时自动删除还原的提交 git日志:(从最近到旧) 我能去吗 6666: another useful commit 7777: some useful commit 没有为每个提交/还原对执行手动操作?我面临的唯一解决方案是: git checkout 7777-B新分行 git重置——硬6666 因此,日志的外观将与您期望的一样。您可以利用git-rebase命令的功能 但是,在创建恢复提交时,这需要预先执行一个附加步骤: 假设要恢复提交1234。而不是做 git re
6666: another useful commit
7777: some useful commit
没有为每个提交/还原对执行手动操作?我面临的唯一解决方案是:
git checkout 7777-B新分行
git重置——硬6666
因此,日志的外观将与您期望的一样。您可以利用git-rebase命令的功能
但是,在创建恢复提交时,这需要预先执行一个附加步骤:
假设要恢复提交1234
。而不是做
git revert 1234
或者图形界面中的等效项,您需要将其拆分为
git revert --no-commit 1234
git commit --fixup 1234
或者,您需要手动编辑提交消息,以“fixup!”开头
现在,当使用git-rebase-i--autosquash
时,或者启用rebase.autosquash
选项时,还原提交将自动与原始提交1234
压扁。如果两者完全相互抵消,则结果提交将为空
通过第二次执行相同的重基,现在为空的提交将自动被忽略。对不起,这是一个拼写错误,我已修复它!这与
git checkout 6666-B new branch
相同,并且不会删除1234
和0123
。您知道,您可以从运行git rebase-i
时打开的文本编辑器中删除与您不想要的提交相对应的行,如果不是(更一般的)重复:
git revert --no-commit 1234
git commit --fixup 1234