在特定提交后从克隆 repository/reset 本地还原所有更改的提交
Locally revert commit from cloned repository/reset all changes after specific commit
我已克隆存储库并转到分支 developer
(git checkout developer
)。我想在本地还原提交(使用 SHA 提交:2403d2547f9183531bbd81672d887186bba34579
),这是某人创建、推送并合并到分支 developer
的。我不想更改存储库中的任何内容,只是在我的机器上本地更改。我该如何恢复?
只做 git revert
或任何您想做的事情,不要推送更改。
默认情况下,您在 git 存储库中所做的任何事情都是在本地完成的,您需要使用 push
命令来推送更改。所以只做改变,不要做 git push
.
如果你想还原一个特定的提交,并保留其他所有内容,你可以使用 git revert commit_sha
。
但在这种情况下,看起来您可能真正想要的是 "revert" 特定提交及其之后的所有提交。在这种情况下,如果您不想推送它(例如,您只想编译特定版本的代码,或者对该特定版本进行一些调试),您可能需要使用 git reset --hard commit_sha^
这将"go back" 从 commit_sha
之前的状态,或者 git reset --hard commit_sha
返回到确切 commit_sha
的状态,仍然包括此提交。
我已克隆存储库并转到分支 developer
(git checkout developer
)。我想在本地还原提交(使用 SHA 提交:2403d2547f9183531bbd81672d887186bba34579
),这是某人创建、推送并合并到分支 developer
的。我不想更改存储库中的任何内容,只是在我的机器上本地更改。我该如何恢复?
只做 git revert
或任何您想做的事情,不要推送更改。
默认情况下,您在 git 存储库中所做的任何事情都是在本地完成的,您需要使用 push
命令来推送更改。所以只做改变,不要做 git push
.
如果你想还原一个特定的提交,并保留其他所有内容,你可以使用 git revert commit_sha
。
但在这种情况下,看起来您可能真正想要的是 "revert" 特定提交及其之后的所有提交。在这种情况下,如果您不想推送它(例如,您只想编译特定版本的代码,或者对该特定版本进行一些调试),您可能需要使用 git reset --hard commit_sha^
这将"go back" 从 commit_sha
之前的状态,或者 git reset --hard commit_sha
返回到确切 commit_sha
的状态,仍然包括此提交。