2009-12-18 17 views
7

C'è una filiale sul telecomando su cui vorrei lavorare. È vecchio e non ho più una vecchia copia sul mio computer locale. È molto lontano dal maestro. Ogni volta che provo a tirarlo, ho dei conflitti. Voglio solo creare un duplicato esatto del ramo remoto sul mio sistema locale. Perché ciò dovrebbe portare a conflitti?Come si trascina un ramo remoto in git senza conflitti?

ho provato:

git pull origin branch_name:branch_name 

che ha creato un nuovo ramo sulla mia macchina locale con il nome giusto, ma ha portato a conflitti.

risposta

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

Ho dovuto specificare il remoto: 'git checkout -b ramo origine/diramazione' – Francisco

+0

@Francisco, sì, oldoldbranch significa specifica di ramo completo poiché è memorizzata nel repository locale. –

+0

Grazie per aver chiarito. Non l'ho assunto in questo modo. – Francisco

2

Non puoi semplicemente verificarlo?

git checkout branch_name 

?

+1

Questo tipo di lavorato, ma ho dovuto cambiare: git origine ramo NOME_RAMO/NOME_RAMO git checkout NOME_RAMO –

+1

Non è che mi dispiaccia, ma non è divertente che avete accettato questa risposta, anche se dovuto cambiarlo al mio? ;-) git branch + git checkout è equivalente a git checkout -b ;-) –

4

git pull repo branch è fondamentalmente la stenografia per git fetch repo branch e git merge repo/branch. Non sono uno da dire spesso RTFM, specialmente con git, ma è la prima riga di git-pull docs. "git-pull - recupera e si fonde con un altro repository o un ramo locale". L'unione implicita sta causando il conflitto. Volete solo uno & come ha detto Michael.

+2

Grazie. Odio Git. –

+2

Sì, lo farà. Fidati di me, ne vale la pena. Molto più semplice di SVN una volta capito. – Schwern

Problemi correlati