重置本地存储库分支,使其与远程存储库头一样

重置本地存储库分支,使其与远程存储库头一样

如何将本地分支重置为与远程存储库中的分支类似的分支?

我做了:

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

你能告诉我为什么我要修改这些东西吗?我没碰过这些文件?如果是的话,我想把那些去掉。


拉莫斯之舞
浏览 666回答 3
3回答

一只斗牛犬

将分支设置为与远程分支完全匹配可以分两个步骤完成:git&nbsp;fetch&nbsp;origin git&nbsp;reset&nbsp;--hard&nbsp;origin/master如果您想在执行此操作之前保存当前分支的状态(以防万一),您可以这样做:git&nbsp;commit&nbsp;-a&nbsp;-m&nbsp;"Saving&nbsp;my&nbsp;work,&nbsp;just&nbsp;in&nbsp;case" git&nbsp;branch&nbsp;my-saved-work现在,您的工作被保存在分支“我保存的工作”上,以防您决定要返回它(或者希望稍后查看它,或者将其与更新的分支区分开来)。请注意,第一个示例假设远程回购的名称为“原产地”,并且远程回购中名为“master”的分支与本地回购中当前签出的分支匹配。顺便说一句,您所处的这种情况看上去很像一种常见的情况,在这种情况下,已经对非裸存储库的当前签出的分支进行了推送。你最近有没有参与当地的回购?如果不是,那就不用担心了-一定是其他原因导致这些文件意外地被修改了。否则,您应该意识到,不建议将其推入非裸存储库(特别是不推荐到当前签出分支)。

慕桂英4014372

首先,重置到以前获取的HEAD相应的上游分支:git&nbsp;reset&nbsp;--hard&nbsp;@{u}指定@{u}或冗长的形式@{upstream}不需要显式指定远程回购和分支的名称。接下来,根据需要删除未跟踪的文件,也可以用-x:git&nbsp;clean&nbsp;-df最后,根据需要获取最新的更改:git&nbsp;pull
打开App,查看更多内容
随时随地看视频慕课网APP