Imaginons que je travaille sur un répo qui contient un fichier binaire (comme un document word ou un tableau excel)
J'ai fait des modifications de mon coté que j'ai push et mon collègue en a fait aussi, au moment de pull les changements distants avant de push les siens, il se rend compte que le merge plante a cause d'un conflit dans le fameux fichier binaire.
Il va devoir annuler les changements de son coté, tirer la version la plus récente et remettre ses changements par dessus à la main.
Pour commencer, il doit arreter la procédure de merge (et donc annuler son pull) :
git merge --abort
Ensuite il doit ensuite retirer son fichier de son dernier commit (HEAD^ représentant le dernier commit local) :
git reset HEAD^ fichier/qui/pose/probleme.docx
git commit --amend
Puis supprimer ses changements locaux (ou les mettre de coté pour récuperer le contenu apres le pull)
git checkout -- fichier/qui/pose/probleme.docx
et enfin il pourra pull la version distante qui posait problème avec un git pull