git: 只重做旧的提交
git: redo an old commit only
我在 git 下有一个项目,其中最后一次提交有正确的更改,但倒数第二个提交必须完全还原,因此应用的更改从倒数第三个到下一个-倒数必须是 "ignored".
最后一次提交和倒数第二次提交没有共同的修改文件。
我该怎么做?
执行此操作的典型方法是
git revert HEAD^
# HEAD points to the last commit, so HEAD^ is the commit just before
它将在分支提示的顶部创建一个新的提交,包含您的错误提交所包含的反向更改。
注意:这不会重写您的历史记录,当您需要推送时不需要--force
任何东西。
如果您在分支机构中,则可以使用 cherry-pick。
即:
从最后一个好的提交创建一个新分支(例如:master)
然后挑选最后一次提交:git cherry-pick <last-commit-sha>
我在 git 下有一个项目,其中最后一次提交有正确的更改,但倒数第二个提交必须完全还原,因此应用的更改从倒数第三个到下一个-倒数必须是 "ignored".
最后一次提交和倒数第二次提交没有共同的修改文件。
我该怎么做?
执行此操作的典型方法是
git revert HEAD^
# HEAD points to the last commit, so HEAD^ is the commit just before
它将在分支提示的顶部创建一个新的提交,包含您的错误提交所包含的反向更改。
注意:这不会重写您的历史记录,当您需要推送时不需要--force
任何东西。
如果您在分支机构中,则可以使用 cherry-pick。
即:
从最后一个好的提交创建一个新分支(例如:master)
然后挑选最后一次提交:
git cherry-pick <last-commit-sha>