2012-01-09 82 views
1

我让自己陷入了一点当地的回购混乱。 Long story简而言之,我有一个远程回购的副本;我在本地回购中创建了一个名为“my_branch”的分支;我做了几次工作。然后,我将分支推送到远程回购。这里是我的本地回购图...(因为我把my_branch推到了遥控器上,这也是遥控器的样子)。使用git,如何将追踪分支合并回远程原点/ HEAD?

--C0--------------C4-- (local master) 
     \ 
     --C1-C2-C3--  (local my_branch) 

然后我决定尝试rebase,但我认为我完全搞砸了。我也试图做git reset --hard,我想我更多地损坏了我的本地回购。所以我决定从一个干净的地方开始。我从远程repo following this抓住了my_branch。

然后我从远程检出了origin/my_branch。 (我现在看到我的GUI工具GitX中有一个“分离的HEAD”。)现在...我如何将这个分支与远程的origin/HEAD aka origin/master合并?

回答

1

做一个分支就在你身边来获取工作跟踪

git checkout -b new-branch HEAD 

现在你可以检查出其他分支与合并或重订它们。

要获得当地分行,你是不是还跟踪远程之一:

git checkout -t origin/some-branch 

现在只是推高的树枝。最有可能你将需要力推

git push -f origin some-branch 
+0

只是为了看看我明白这一点......所以对我来说,我会做一个混帐'-t结账产地/ my_branch'(这将签my_branch的本地版本履带。然后当我做'git push -f origin my_branch'时,会要求git尝试合并my_branch local和origin? – milesmeow 2012-01-10 01:42:14

+0

不能。当你按下时,你只是改变一个指向特定提交的指针。 – 2012-01-10 19:28:25