/ / ¿Por qué los Desarrolladores Git Commit, Git Pull, Git Push siempre crean una Git Merge? - git, github, fusionar

¿Por qué los desarrolladores Git Commit, Git Pull, Git Push siempre crean un Git Merge? - git, github, fusiona

Tengo un desarrollador que sigue comprometiéndose, y cada vez que lo hace: hace una fusión de git en una confirmación de rama; cada vez. Incluso con su propio código.

Es decir, mi historia se ve así casi todo el tiempo. De vez en cuando uno de mis 6 desarrolladores se fusionará rama a rama; pero en su mayor parte solo tienen compromisos. Este desarrollador, siempre lo tiene.

  • Dev Fusionar rama en rama
  • Dev Commit
  • Dev Fusionar rama en Rama
  • Dev Commit
  • Otro compromiso
  • Me comprometo
  • Otro compromiso
  • Me comprometo
  • Me comprometo
  • Dev Fusionar rama en rama
  • Dev Commit
  • Dev Fusionar rama en rama
  • Dev Comm

Era runnign 1.7; ahora 2.0

  • git commit
  • git pull
  • git push

? ¿Algunas ideas?

El resto de nosotros estamos bien en la terminal (mac); GH gana; GH gana powershell, etc.

Es molesto porque las fusiones de basura están creando un dolor para poder revertir.

Respuestas

1 para la respuesta № 1

Indique al desarrollador que realice nuevos compromisos solo después de haber realizado un tirón.

git crea confirmaciones de fusión solo si la rama local y la rama ascendente divergen de un punto común. Entonces, mientras el resto de los desarrolladores parecen estar siguiendo esto (es decir, hacen un git pull antes de realizar ninguna confirmación), el desarrollador en cuestión realiza confirmaciones locales y luego realiza una git pull, por lo tanto, tener las ramas ya divergentes. Por lo tanto, git se ve obligado a fusionar los cambios de forma recursiva, lo que hace que aparezca un compromiso de fusión.

La otra forma de evitar esto por completo es hacer un git fetch junto con un git rebase organización amplia, de modo que la historia se mantenga casi linealmente sin ningún compromiso de fusión.