Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 在重新基址时自动删除还原的提交_Bash_Git_Git Rebase - Fatal编程技术网

Bash 在重新基址时自动删除还原的提交

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

有没有办法在重定基址时自动删除还原的提交

git日志:(从最近到旧)

我能去吗

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