2012-08-16 19 views
6

Mi piacerebbe sapere come fare un pull da repo basato su uno SHA?git pull basato su SHA

git pull origin master 

il codice qui sopra tirerà padrone una volta abbiamo fatto git add remote.

+0

Che cosa vuoi esattamente realizzare? –

risposta

15

A tirare git fa due cose per voi:

  1. recupera un ramo specifico dal repository
  2. si fonde con il vostro ramo corrente.

Sembra che ciò che si vuole fare è quello di ottenere una revisione specifica dal repository e si fondono con il vostro ramo corrente.

Il modo migliore per farlo è di due comandi:

git fetch origin 
git merge YOUR_SHA_HERE 

Se quello che vuoi è solo per vedere cosa c'è in una revisione specifica dal repository e renderlo l'albero di lavoro, ma non fare una fusione, allora si vorrebbe:

git fetch origin 
git checkout YOUR_SHA_HERE 

Se quello che vuoi è quello di ottenere la versione specifica, e rendere il nuovo "padrone" (o un altro ramo), allora si sarebbe desidera eseguire

git fetch origin 
git reset --hard YOUR_SHA_HERE 

Tutti questi recupereranno il nuovo codice dal repository (tramite 'git fetch origin'), ma ci sono diversi modi per combinare/sostituire il codice corrente.

5

Non penso che ci sia un modo per tirare solo una parte di un ramo basato su uno SHA.

Cosa c'è di sbagliato con:

git pull 
git reset --hard <sha>