在特定提交后从克隆 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 的状态,仍然包括此提交。