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).