2012-01-09 73 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