2009-08-21 11 views
23

estoy usando 'git' a la comprobación de código de cromo siguiendo este documento: http://code.google.com/p/chromium/wiki/UsingGitun comando 'git pull' funciona como 'svn update'?

Y dijo 'git pull Ejecutar o cualquier comando es conveniente actualizar el proceso de pago. '.

Pero el problema que encuentro es cuando tengo cambios locales en mi directorio de trabajo de git y luego ejecuto 'git pull'. Dijo que algo como el archivo XXX no se puede actualizar (hice un cambio localmente). Obligo a 'git pull' a trabajar eliminando mi cambio 'git checkout - XXX.cpp'

¿Hay alguna manera de hacer que 'git pull' se fusione automáticamente si es posible (la actualización de svn equivalente)?

Gracias.

+2

Un equivalente de "svn update" sería "git pull - rebase". También recuerde que puede hacer "git fetch" por separado de la parte "git merge" de "git pull". –

Respuesta

19

Si desea fusionarse con los cambios que ha realizado localmente, primero deberá confirmar los cambios en su directorio local. O esconde tus cambios, luego tira, luego vuelve a aplicar tu escondite.

+0

, por ej., Consulte http://stackoverflow.com/a/12476984/2109800 – mc0e

8

Creo que lo que quiere hacer es:

  1. confirmar todos los cambios a su repositorio local
  2. hacer un 'git rebase'.

Esta cifra es ligeramente mejor que 'svn update' en mi opinión, ya que primero va a cambiar su copia de trabajo local a la forma en que fue la última vez que hiciste o restablecen desde el control remoto, a continuación, ir a buscar y aplicar nuevos cambios desde el control remoto, y luego vuelva a aplicar los cambios comprometidos localmente. Si hay un conflicto entre los cambios y los cambios remotos, deberá resolverlos y seguir las instrucciones para continuar la operación de rebase.

De esta forma, los conjuntos de cambios deben aplicarse en el orden correcto.

+2

Gracias. ¿Puedo 'git stash' y luego 'git rebase' y luego 'git apply stash' en su lugar? – n179911

+2

absolutamente. eso es lo que haría si tiene cambios que aún no está listo para cometer, pero desea continuar y tomar los cambios del repositorio remoto. – user160223

+0

'git stash'' git rebase' 'git stash apply' - funciona para mí – lowtech