2009-12-18 121 views
7

有遠程分支,我想努力。這是舊的,我不再有我的本地機器上的舊副本。它遠遠落後於主人。每當我試圖拉它時,我都會發生衝突。我只想在本地系統上創建遠程分支的完全重複。爲什麼會導致衝突?我怎麼拉的git遠程分支沒有衝突?

我想:

git pull origin branch_name:branch_name 

創建我的本地機器上的一個新的分支正確的名稱,但它導致了衝突。

回答

10
git fetch origin 
git checkout -b newoldbranch oldoldbranch 
+0

我必須指定遠程:'git的結帳-b分支來源/ branch' – Francisco 2016-01-04 14:51:31

+0

@Francisco,是的,oldoldbranch意味着全分支規範,因爲它是存儲在本地存儲庫中。 – 2016-01-04 18:18:25

+0

感謝您的澄清。我沒有這樣認爲。 – Francisco 2016-01-04 19:23:54

2

你不能簡單地檢查一下嗎?

git checkout branch_name 

+1

這種工作,但我不得不改變它: git分支branch_name原產地/分支名稱 git結帳分支名稱 – 2009-12-18 21:44:47

+1

這不是我介意,但它不是很有趣,你接受這個答案,但你不得不改變它我的? ;-)混帳支部+ git的結帳相當於git的結帳-b ;-) – 2009-12-19 21:46:22

4

git pull repo branch基本上是git fetch repo branchgit merge repo/branch的簡寫。我不是一個經常說RTFM,尤其是git的,但它是git-pull docs的第一道防線。 「git-pull - 從另一個存儲庫或本地分支獲取併合並」。隱式合併導致衝突。你只想要一個fetch & checkout邁克爾說。

+2

謝謝。我討厭混帳。 – 2009-12-21 03:44:59

+2

是的,它會這樣做。相信我,它值得努力。一旦你得到它,比SVN簡單得多。 – Schwern 2009-12-21 07:37:24