La versión de Git de Update to HEAD

Soy un novato en Git y quiero entender cómo queueborar con algunos amigos en un proyecto que usa git. Mi problema es tratar de entender cómo "actualizado a HEAD (como en SVN)" en git. Entiendo que git es un poco diferente, y agradecería cualquier ayuda.

Así que considera esta situación. Hay una Persona A y una Persona B. La Persona A cambia un file haciendo 1 adición. Luego realiza:

  1. Commit está en su propia twig
  2. Cambiar a maestro
  3. extraer maestro de origen
  4. git merge personAbranch
  5. git push origin master

Entonces, hasta ahora, esto funciona, ya que en GitHub el repository se ha actualizado con los cambios de la Persona A.

Ahora, suponga que la Persona B durante todo este time también ha estado haciendo sus propios cambios. Él también, hace 1 adición. ¿Qué debería hacer la Persona B para "actualizar a HEAD" para que él también pueda comprometer sus cambios? Lo que la persona B ha intentado es …

  1. comprometiendo su propio cambio a su propia twig.
  2. Cambiar a maestro
  3. git pull origin master
  4. git merge maestro ian.

En la cuarta línea, siempre recibe una queja de un conflicto. ¡¿Por qué?!

Cualquier ayuda sería muy apreciada.

Si git se queja de un conflicto, significa que la persona A y la persona B (¿podría ser Ian?) Han modificado el mismo file y los cambios, bueno, el conflicto. O el file es un file binary, para el cual git nunca puede resolver dos modificaciones diferentes, o es un file de text y las dos modificaciones tocan el mismo set de líneas.

Tendrás que resolver el conflicto. Puede usar git mergetool para ayudar con esto.

(Los conflictos no son exclusivos de git. También pueden suceder con Subversion por el mismo tipo de razones).