2013-05-07 13 views
9

Ho un clone di un repository remoto. Ho aggiornato la sua url remota al mio server. Poi ho fatto alcuni commit e li ho spinti nel mio repository. Ora ho bisogno di estrarre alcune modifiche dal repository iniziale. Da un ramo specifico. posso farlo eseguendoGit pull fino a determinati commit (tag)

git pull http://example.com/repo.git example_branch 

Questo tirerà ogni nuovo commit da example_branch (e in realtà mi metterò una versione dev). Ma questo example_branch ha tag. E ho bisogno di smettere di tirare a un certo (ottenere una versione stabile nel mio caso). Come posso farlo?

UPD Infine mi si avvicinò con:

git remote add example http://example.com/repo.git 
git fetch 
git merge tag_name 
+0

Penso che tu stia cercando di risolvere il problema sbagliato. Perché vorresti tirare solo fino a uno specifico commit? – Arjan

+1

Bene, se tolgo tutti i commit da un ramo, otterrò una versione di sviluppo. Ma ho bisogno di una versione stabile. – Leksat

risposta

10

git pull è solo un git fetch seguito da un git merge. Quindi puoi facilmente fare un git fetch e quindi unire il commit/tag desiderato.

+0

Grazie per la spiegazione! – Leksat

+18

Perché non scrivere i comandi per farlo invece di dire che puoi farlo facilmente? –

2

Un repository git può supportare più remote.

Nel tuo caso, è necessario aggiungere un secondo a distanza (con il vecchio server):

git remote add old_server http://example.com/repo.git 

Poi si può semplicemente prendere da esso:

git fetch old_server 

Finalmente, merge the specific commit vuoi per afferrare il tuo progetto.