2012-08-16 18 views
6

Me gustaría saber cómo hacer un pull de repos basado en un SHA?git pull basado en SHA

git pull origin master 

el código anterior se tire maestro una vez que hemos hecho git add remote.

+0

¿Qué es exactamente lo que quiere lograr? –

Respuesta

15

Un git pull hace dos cosas para usted:

  1. va a buscar una rama específica del repositorio
  2. se fusiona con su rama actual.

Parece que lo que quiere hacer es obtener una revisión específica del repositorio y fusionarla con su rama actual.

La mejor manera de hacer esto es dos comandos:

git fetch origin 
git merge YOUR_SHA_HERE 

Si lo que quiere es sólo para ver lo que hay en una revisión específica del repositorio y hacer que el árbol de trabajo, pero no hacer una fusión, entonces usted desea:

git fetch origin 
git checkout YOUR_SHA_HERE 

Si lo que desea es obtener la versión específica, y que sea el nuevo "maestro" (u otra rama), entonces usted desea ejecutar

git fetch origin 
git reset --hard YOUR_SHA_HERE 

Todos estos obtendrán código nuevo del repositorio (a través del 'origen de búsqueda de git'), pero luego hay diferentes formas de combinar/reemplazar su código actual.

5

No creo que haya una manera de extraer solo una parte de una rama basada en un SHA.

¿Qué hay de malo en:

git pull 
git reset --hard <sha>