Actualmente estoy trabajando para una empresa que usa VSTS para administrar el código git. La forma "recomendada" de Microsoft de fusionar una sucursal es hacer una "fusión de squash", lo que significa que todas las confirmaciones para esa rama se aplastan en una nueva confirmación que incorpora todos los cambios.
El problema es, ¿qué sucede si hago algunos cambios en una rama para un elemento de la cartera de pedidos, y de inmediato quiero comenzar a hacer cambios en otra rama para otro elemento de la cartera de pedidos, y esos cambios dependen del conjunto de cambios de la primera rama?
Puedo crear una rama para ese elemento acumulado y basarlo en la primera rama. Hasta aquí todo bien. Sin embargo, cuando llega el momento de crear una solicitud de extracción para mi segunda rama, la primera rama ya se ha fusionado en master y debido a que se ha hecho como una fusión de squash, git señala un montón de conflictos. Esto se debe a que git no ve los commits originales en los que se basó la segunda rama, solo ve la fusión de una gran calabaza y, por lo tanto, para fusionar la segunda rama en master, intenta reproducir todos los commits de la primera rama en la parte superior de la calabaza se fusiona, causando muchos conflictos.
Entonces, mi pregunta es, ¿hay alguna forma de evitar esto (aparte de no basar nunca una rama de función en otra, lo que limita mi flujo de trabajo) o la fusión de squash solo rompe el algoritmo de fusión de git?
feature1
con el maestro y luego desea fusionarsefeature2
más tarde. En ese caso, ¿el primer enfoque no daría lugar a conflictos ya que git intenta volver a aplicar losfeature1
commits sobre el commit aplastado, mientras que el segundo permitiría que git determine que esos commits no necesitan fusionarse?git clone
ingresando el repositorio y copiando mis archivos modificados!) Porque me bifurqué de una rama y luego el responsable aplastó la primera rama. En mi trabajo también hacen fusiones de squash. Esto significa que no puedo trabajar en una funciónb
que depende de la funcióna
hasta quea
se combine.