2015-10-18 79 views
0

我使用下面的命令 (注创建命名为一个新的分支我-4.3.y:我-4.3.y设置为远程跟踪分支4.3.y从产地):覆盖当地分行(分公司有分歧)

git checkout -b my-4.3.y origin/4.3.y 

我还没有在我的,4.3.y分支检查出来后工作。 现在,几天后,当我运行:

git status 

它告诉我,我的,4.3.y产地/ 4.3.y已经分歧

我不在乎在哪里和为什么分支有分歧,我不想合并 远程分支到我的。我只想让我的分支再次等于远程 分支。

所以,我做的是:(1)签出一些其他的分支(2)删除我-4.3.y和(3)再次检查出来:

git checkout some_other_branch 
git branch -D my-4.3.y 
git checkout -b my-4.3.y origin/4.3.y 

是否有更简单这样的方式?

+2

使用'git的复位 - 硬起源/ 4.3.y'代替 –

+0

@AndrewC这就是我一直在寻找。你会把它作为答案吗? – sergej

回答

2

您可以使用git reset --hard将您当前签出的分支强制为您想要的任意点。

注意:使用--hard不是工作目录安全的,并且会抛出您所做的任何更改。

要更新到您的跟踪分支的特定情况下,你可以使用@{u}来指定上游

git reset --hard @{u} 

一般情况下,你可以通过任何分支引用或其他任何Git的解析为一个承诺如

git reset --hard origin/4.3.y