Bitbucket: Conflicto en el repository remoto, no se puede resolver cómo resolverlo

Espero poder express esto correctamente … Tengo la siguiente configuration en Bitbucket (usando el protocolo Git). Tengo un repository maestro que contiene mi aplicación. A continuación, doblo el repository maestro por cliente para tener la flexibilidad de realizar cambios específicos del cliente sin afectar al maestro. Cuando se requiere un cambio genérico, presiono para dominar, y luego sincronizo con la horquilla y luego hago un pull en la producción.

El problema que estoy teniendo es que en Bitbucket, está diciendo que tengo conflictos de combinación, pero no tengo ni idea de cómo resolverlos. Localmente, no tengo conflictos. Cuando entro en Bitbucket, me dice que estoy 2 commits detrás del repository maestro, así que hago clic en synchronization. Dice que hay conflictos de fusión, y necesito resolverlos. Entonces veo que no hay forma de resolver estos conflictos. Si hago un pull en el server de producción, dice que hay conflictos y necesito resolverlos, así que lo hago. Voy con nano (como odio a VIM) y limpio lo que necesito, y me dedico a mi trabajo. Sin embargo, el repository bifurcado parece estar aún en conflicto. No tengo ni idea de lo que tengo que hacer para resolver esta situación. A pesar de todo, me tiene paralizado porque no puedo hacer más cambios al tenedor hasta que se resuelvan los conflictos.

Cuando se trabaja con una bifurcación, a menudo es útil tener el depósito ascendente (su depósito principal) configurado como un control remoto así como también como la bifurcación (su repository de Cliente A). Por ejemplo, probablemente ya tenga un origin que represente el tenedor.

Agregue un nuevo control remoto upstream para representar el repository "Maestro":

 git remote add upstream [email protected]:user/master-repo.git git fetch upstream 

Ahora debería poder ver todas las twigs relevantes. Por ejemplo, si intenta fusionar la twig master , estos serán relevantes:

  • master (local)
  • origin/master (Cliente A)
  • upstream/master (Repo maestro)

Si visualiza estas twigs con gitk o git log --all --graph --decorate , probablemente podrá ver de dónde viene el conflicto. Lo más probable es que desee fusionar los cambios de ambos controles remotos en su sucursal master local:

 git checkout master git merge upstream/master # (Merge changes from the "Master" repo) # Fix any merge conflicts that may arise git merge origin/master # (Merge changes from the Client A repo) # Fix any merge conflicts that may arise 

Una vez que hayas hecho esto, deberías poder push limpiamente hacia el origin :

 git push origin master