Traer cambios desde un servidor remoto con Git

Esto es algo trivial, pero se puede aplicar para varios escenarios. Por lo general es traer los cambios de un repositorio remoto para sincronizarlo con nuestro código local, pero que pasa cuando Git nos dice que hay conflictos.

El primer paso en cualquier escenario es:

git pull

Y esto puede tener un desenlace agradable, o bien, archivos que serán sustituidos por el merge y/o archivos a los que no se les da un seguimiento. Errores como estos lucen similar a la siguiente imagen:

salida de pull

Lo mejor es que Git nos dirá que podemos hacer para solucionar estos problemas. Para los archivos que serán reemplazados por el merge podemos hacer un commit y en el caso de los archivos a los cuales ya no se les da seguimiento (untracked working tree files) basta con ejecutar git stash.

Pero si se trata de un proyecto que tiene mas de un origen, por ejemplo si se tiene mas de un repositorio remoto, entonces es necesario realizar un push al repositorio que no se tenga sincronizado, esto es muy común cuando es necesario hacer un deploy por medio de Git a un PaaS.

Para hacer esto bastara con hacer un push al repositorio remoto donde vive la aplicación:

git push openshift master

Donde openshift es el alias del repositorio remoto usado para alojar la aplicación.

Sirva este post como un ejemplo de lo que hago actualmente en uno de mis proyectos personales. Sin embargo, la intención de esta entrada es ayudarme a recordar que hice para solucionar mis problemas de sincronizacion entre repositorios.

Para mas detalles y conocer las bases de Git visitar https://git-scm.com/

Saul

Para que me preguntan si está en Twitter: Desarrollador de software, Friki de la vieja guardia. Amigo del Software libre y usuario de Linux en varios sabores. @sauljetsmi