2009-09-18 48 views
366

Tengo un proyecto verificado localmente desde github, que desde entonces se han realizado cambios en el repositorio remoto. ¿Cuál es el comando correcto para actualizar mi copia local con los últimos cambios?Actualización de un repositorio local con cambios desde un repositorio de Github

+16

Vale la pena señalar que github ha producido un conjunto de guías muy informativas y útiles para el uso de git y github. Los encontré invalorables cuando hice la mudanza por primera vez. https://help.github.com/ –

+18

@MarkEmbling PARA CADA pregunta es posible agregar un comentario "RTFM" ... Pero estoy bastante feliz de que alguien responda esta pregunta. – jm666

Respuesta

513

probablemente:

git pull origin master 
+20

Se quejó: "Ha solicitado extraer desde el 'origen' remoto, pero no especificó una rama. Como este no es el control remoto predeterminado configurado para su rama actual, debe especificar una rama en la línea de comandos." Así que probé "$ git pull origin master" y funcionó bien. –

+6

Git Pull Origin Master – Hoto

+0

He eliminado algunos archivos y no los está volviendo a traer, ¿alguna idea? –

51
git fetch [remotename] 

Sin embargo, tendrá que combinar los cambios en sus sucursales locales. Si estás en una rama que se está siguiendo una rama remota en Github, entonces

git pull 

en primer lugar hacer una búsqueda, y luego fundirse en la rama rastreado

+2

Si está utilizando el método 'git fetch', también querrá buscar etiquetas con' git fetch -t'. Si está satisfecho con los cambios ('git log HEAD..FETCH_HEAD'), puede fusionarlos con' git merge FETCH_HEAD'. –

56

Este debe funcionar para todos los repo por defecto:

git pull origin master 

Si su rama por defecto es diferente que master, que se necesitan para especificar el nombre de la sucursal:

git pull origin my_default_branch_name 
+2

No realmente. fatal: No se pudo encontrar el maestro de referencia remota –

+1

@Eijkhout probablt en Su caso de repos no hay una rama maestra, y alguna otra rama se establece como predeterminada – Hoto

0

Esta pregunta es muy general y hay un par de suposiciones que haré para simplificarlo un poco. Asumiremos que desea actualizar su rama master.

Si no ha realizado ningún cambio localmente, puede usar git pull para reducir los nuevos commits y agregarlos a su master.

git pull origin master 

Si ha realizado cambios, y que desea evitar la adición de una nueva combinación de cometer, utilice git pull --rebase.

git pull --rebase origin master 

git pull --rebase funcionará incluso si usted no ha hecho cambios y es probablemente su mejor llamada.

Cuestiones relacionadas