将本地仓库分支重置为与远程仓库HEAD一样

发布时间 2023-10-10 20:36:59作者: 小满独家

内容来自 DOC https://q.houxu6.top/?s=将本地仓库分支重置为与远程仓库HEAD一样

如何将本地分支重置为与远程仓库上的分支一样?

我尝试了:

git reset --hard HEAD

但是git status声称我已经修改了文件:

On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
      modified:   java/com/mycompany/TestContacts.java
      modified:   java/com/mycompany/TestParser.java


将您的分支设置与远程分支完全匹配需要两个步骤:

git fetch origin
git reset --hard origin/master

如果您想在执行此操作之前保存当前分支的状态(以防万一),可以执行以下操作:

git commit -a -m "保存我的工作,以防万一"
git branch my-saved-work

现在,您在分支“my-saved-work”上的工作已保存,以防您决定要恢复它(或稍后查看它或将它与更新后的分支进行比较)。

请注意,第一个示例假定远程仓库的名称为“origin”,并且远程仓库中名为“master”的分支与本地仓库中当前检出的分支相匹配。

顺便说一下,您所处的情况看起来非常像是一个常见的情况,即向非裸仓库的当前检出分支中推送了一些内容。您最近是否向本地仓库推送了?如果没有,那么不用担心——其他原因也可能导致这些文件意外地被修改。否则,您应该意识到向非裸仓库(特别是当前检出的分支)推送内容是不推荐的。