Git / bash: saber si la twig actual se está fusionando

¿Hay alguna manera de saber si la twig actual está en estado de fusión ?

Significa, ¿hay alguna manera de saber si MERGE_HEAD existe?

Estoy desarrollando un script que atravesará varios proyectos y quiero automatizar algunos pasos.

Mi idea es algo así como

# for each project git checkout dev git pull git checkout $myBranch git merge dev if [[THERE_ARE_CONFLICTS]] echo "Some warning" else git push origin $myBranch fi; 

git merge tiene un estado de salida distinto de cero si hay conflictos de fusión. Es decir, puedes simplemente usar

 git merge dev if [ "$?" -eq 0 ]; then echo "All fine." else echo "There were merge conflicts." fi 

Si no tiene acceso al estado de salida, entonces verificar la existencia de .git/MERGE_HEAD , como sugirió kfb en los comentarios, es una forma confiable de detectar que git se encuentra actualmente en estado de fusión, como se documenta brevemente en el git -merge man page :

[..] graba $ GIT_DIR / MERGE_HEAD (para hacer que el siguiente command de git commit cree un commit de fusión) [..]

No hay un command específico de Git para eso. Puede verificar la existencia del file .git / MERGE *.

 git merge dev if [ ! -z "$( ls .git/MERGE* 2>/dev/null )" ]; then echo "Merge is on-going" else echo "All fine." fi