Git恢复本地提交

我有一个在Windows上的phpstorm挂钩的git回购。 我犯了一些改变,然后把它们推到我们的“中央回购”。 在此之后,我做了更多的提交。 我不再需要这些没有被推到中央仓库的提交。 我如何清理我的工作副本与中央回购(原产地)相同?

git reset --hard remotes/origin/HEAD 
 git reset --hard remotes/origin/YOUR/BRANCH 

/HEAD更好,因为你不会看到这个:

 $ git status On branch MY/BRANCH Your branch and 'origin/MY/BRANCH' have diverged, and have 1 and 1 different commit each, respectively. 

如果您对此感到满意,并且没有任何本地未提交的更改:

 git reset --hard origin/master 

其中origin/master是您推送到的分支。

ref-log将仍然包含返回的位,直到垃圾收集到期为止。 为了恢复回复,

 git reset --hard HEAD@{1} 

你可以恢复本地提交

 git reset HEAD~N 

其中N用于恢复提交次数。 一个例子:

如果你必须从本地恢复单一的提交,那么你可以使用

 git reset HEAD~1 

或者git reset HEAD ^

按照我的说法,你创build了一些你在中央仓库中提交的提交,然后你创build了更多的提交,但是这些提交都存在于本地。 这些都没有推动中央回购。

删除/恢复本地提交;

 git reset HEAD~{number_of_commit} 

简单地说,你打你的命令提示符上的git log ,并获得提交列表。 看一下,你现在创build了多less个提交,还有多less你需要恢复。

例如,你必须remove.revert你的两个最后提交然后命中

 git reset HEAD~2 

还有另一种方式来重置您的本地回购与中央回购。 但是,在这种情况下,您的本地提交将被删除,如果其他用户推送提交中央回购,那么您的回购将被更新。

命令是:

 git reset --hard remotes/origin/HEAD