2009-12-18 123 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