我需要恢复部署本地更改。(我用过svn revert为此,在旧的Skool SVN时代。)

我正在使用git reset --hard HEAD为了这。(还git fetchgit merge origin/$branch --no-ff用于与上游分支同步。)

但是有些文章要点git checkout -f用于恢复更改。

此命令之间的关键区别是什么。推荐哪种方式?

答案

他们两个具有完全相同的效果。我建议您选择更舒适的解决方案。

但是,如果在这种情况下,效果是相同的,则具有不同的值,它将完全不同。基本上(还有更多内容,请参见链接主题),并通过重置您将当前分支和头部移至特定的提交,但是结帐时,您只需移动头部即可。有关更多详细信息,请参见下面。


Resources:

On the same topic:

来自: stackoverflow.com