No se puede empujar o tirar de Git

Soy bastante nuevo en el uso de Git, pero entiendo lo básico. Sin embargo, aún no he encontrado una situación en la que tenga conflictos Push / Pull … hasta ahora.

Además, debo señalar que la herramienta de GUI que estoy usando para interactuar con el repository de Git es Atlassian SourceTree (estamos usando Atlassian Stash para administrar nuestros repositorys).

Aquí está el escenario:

Tengo 2 commits para Push y aparentemente hay 4 cambios que necesito Pull .

Cuando trato de Pull , obtengo esto:

 git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you can merge. Completed with errors, see above. 

Dice que necesito completar mi combinación, pero no me permite hacer nada. No obtengo una list de fusión ni se fusiona automáticamente. Parece que no puedo pasar de la fusión para poder resolver el conflicto Push/Pull .

Cuando bash Push , obtengo esto:

 git -c diff.mnemonicprefix=false -c core.quotepath=false push -v --tags origin master:master Pushing to http://XXXXXX@XXXXXXXX.XXXX.XXXX:XXXX/XXXX/XXXX/XXXXX.git To http://XXXXXX@XXXXXXXX.XXXX.XXXX:XXXX/XXXX/XXXX/XXXXX.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'http://XXXXXX@XXXXXXXX.XXXX.XXXX:XXXX/XXXX/XXXX/XXXXX.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (eg hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

¿Ahora cómo diablos resuelvo esto ?! ¿Tendré que Rebase a Rebase o algo así?

Estaba leyendo sobre un Fast Forward Push pero no tengo idea de cómo hacerlo dentro de esta herramienta. Si tengo que hacerlo, ciertamente puedo ejecutar los commands de Git desde la terminal. Simplemente no quería entrar en eso sin consultar a alguien con una mejor comprensión de Git y este tipo de problemas.

Parece que estás en el medio de una combinación (¿quizás un bash anterior?)

git merge --abort cancelará esa fusión, y te pondrá en un estado donde puedes volver a intentar la extracción y luego resolver conflictos.

Completa tu fusión. git status te dirá qué está pasando. Para cada uno, debe editar para solucionar el conflicto y hacer git add . Entonces git commit . Luego tira, luego empuja.