2012-07-06 110 views
36

我想遠程分支的一個確切的「複製」「複製」到特定的本地分支。如何幹淨地獲取/複製遠程git分支到本地存儲庫

例如,說一個團隊成員創建了一個實驗性功能,他已經簽入了遠程存儲庫中名爲experiment的分支。我希望能夠檢出本地存儲庫上的新分支,並將experiment分支按原樣「複製」到我的新檢出分支。

我不想將它與我的代碼合併 - 我想完全覆蓋我的代碼,以便我可以清楚地看看他在「實驗」分支上做了什麼。

如何以某種方式「獲得」(取/拉/無論...)一個遠程分支,其他人已將遠程存儲庫提交給您自己的本地存儲庫,方法是不嘗試並執行合併你自己的本地代碼?

+0

我喜歡爲這種情況保留一份本地回購單獨的副本。它不僅可以幫你避免錯誤,還可以讓我平行工作。 – user1164937 2016-10-19 00:08:48

回答

67

如果你不關心合併:

git reset --hard <remote>/<branch_name> 

這正是你想要的東西:沒有合併,沒有墊底,乾脆把本地分支完全相同的狀態作爲遙控器是。

在你的情況下,你不需要那個。你想創建本地一個與git checkout時創建具有相同的狀態偏僻了當地的分支機構,因此指定的遠程分支:

git checkout -b <my_new_branch> <remote>/<branch_name> 

你會使用git reset --hard如果你已經有一個本地分支(例如對其進行了一些更改),請丟棄所做的任何修改,而是採用遠程分支的確切版本。

要確保您擁有遠程分支的最新狀態,請在檢出或重置之前使用git fetch <remote>

+7

不要重置放棄您的更改。請改爲藏起來。更安全。 – 2012-07-06 07:40:53

+2

這一開始並不起作用,但那是因爲我沒有通過取得遙控器開始。 – David 2014-05-05 19:43:09

+0

我不明白這個答案。您是否輸入「remote/」或「/」替代的「origin」或其他內容? – William 2014-11-16 22:13:04

相關問題