我如何将我的本地分支重新设置为远程存储库的分支类似?
我试过:
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 重新设置如下:
git reset --hard HEAD~2
我有2不需要的订单,因此第2号,你可以将其更改到自己的订单数量重新设置。
所以回答你的问题 - 如果你有5个承诺在远程存储头,你应该运行这个命令:
git reset --hard HEAD~5
请注意,你会失去你所做的改变,所以要小心!
确保远程存储库的起源,并且您对分支_name感兴趣:
git fetch origin
git reset --hard origin/<branch_name>
此外,您将重新设置现有起源分支到头部。
git fetch origin
git reset --hard origin/HEAD
它是如何工作的:
git fetch 起源从远程下载最新的,而无需尝试合并或拆除任何东西。
然后 git 重新设置将 <branch_name> 分支重新设置为您刚刚抓住的。 --hard 选项将您的工作树中的所有文件更改以匹配原始/branch_name 中的文件。
git reset --hard HEAD 实际上只会重新设置到最后的承诺状态. 在这种情况下, HEAD 指的是您的分支的 HEAD。
如果你有几个承诺,这不会工作。
你可能想做的事情,是重新设置到起源头或你远程存储所叫什么。
git reset --hard origin/HEAD
但是要小心. 硬重新设置不能轻易失去. 最好按照 Dan 建议做,并在重新设置之前将您的更改复制。