我如何将我的本地分支重新设置为远程存储库的分支类似?

我试过:

git reset --hard HEAD

但 git 状态声明我有修改的文件:

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 clean -f

删除本地文件

查看哪些文件将被删除(没有实际删除):

git clean -n -f

其他回答

如果你有像我这样的问题,你已经做了一些改变,但现在,出于任何原因你想摆脱它,最快的方式是使用 git 重新设置如下:

git reset --hard HEAD~2

我有2不需要的订单,因此第2号,你可以将其更改到自己的订单数量重新设置。

所以回答你的问题 - 如果你有5个承诺在远程存储头,你应该运行这个命令:

git reset --hard HEAD~5

请注意,你会失去你所做的改变,所以要小心!

以前的答案假设要重新设置的分支是当前的分支(检查出来)。在评论中,OP hap497澄清了分支实际上被检查出来,但这不是原始问题明确要求的。 由于至少有一个“重复”问题,重新设置分支完全到存储状态,这并不假设分支被检查出来,这里有一个替代方案:

git update-ref refs/heads/mybranch myremote/mybranch

這種方法讓檢查的分支如同它一樣,工作樹不受觸摸,它只是將分支的頭轉移到另一個承諾,無論是第二個論點,這是特別有用的,如果多個分支需要更新到新的遠方頭。

您可以查找起源并重新设置以解决问题

 git fetch origin
 git reset --hard origin/main

您可以在重新设置之前保存您的更改,如下:

git stash

然后重新设置,如果你想要改变它,你可以简单地运行,

git stash apply

难道你忘了创建一个功能分支,并通过错误直接指责主人吗?

您现在可以创建功能分支,并在不影响工作组(本地文件系统)的情况下重新设置主管,以避免启动构建、测试和文件锁问题:

git checkout -b feature-branch
git branch -f master origin/master

我需要做(答案中的解决方案):

git fetch origin
git reset --hard origin/master

其次是:

git clean -f

删除本地文件

查看哪些文件将被删除(没有实际删除):

git clean -n -f