Trabajando con dos repositorys en git

Mi amigo y yo estamos trabajando con un pequeño proyecto y tenemos problemas con Git. Tenemos un repository principal que es creado por mí. Mi amigo lo bifurcó y lo clonó en su máquina local.

Ahora cuando hago algunos cambios, envío commits a mi repository haciendo:

git add -u git commit -m "message" git push origin master 

Estoy obteniendo cambios del repository mediante el command git pull .

Mi amigo está realizando cambios mediante la ejecución de commands:

 git add -u git commit -m "message" git push origin master 

y está obteniendo cambios del repository mediante el command git pull upstream master .

Después de hacerlo, tenemos problemas para sincronizar nuestros repositorys. Cuando mi amigo crea Solicitud de extracción, dice que hay conflictos … y sucede cada vez que hacemos commits.

¿Cómo hacer que mi amigo haga algunos cambios y cree una Solicitud de extracción, git automáticamente agregará sus líneas de código sin ningún conflicto a mi repository?

Bueno, si cambias la misma línea de código, obviamente tendrás conflictos, eso es normal y eso es lo que quieres que suceda. No combinarías el código que no has probado.

Por lo tanto, antes de realizar una request de pull , cualquier persona que la envíe debería pull (básicamente: pull = fetch + merge ) los últimos cambios de su repository, resolver conflictos y asegurarse de que su versión esté actualizada.

Luego, si envía nuevos commits a su repository antes de aceptar el PR, el PR estará desactualizado y no podrá fusionarse automáticamente. Entonces, puedes sacar la twig de tus amigos en tu propio lugar de trabajo y resolver los conflictos, o puedes hacer que tus amigos vuelvan a pull tu twig principal, etc.

Sin embargo, cuando trabajo en estrecha queueboración con alguien, siempre prefiero dar permiso de escritura a mi colega; para que pueda empujar como quiera.

Lo único realmente importante de entender aquí es que antes de fusionar cualquier twig en otra, la twig debe estar actualizada ( pull y conflictos resueltos).