0

J'ai fusionné une branche dans une autre et j'ai été confronté à un conflit. Je l'ai résolu partiellement, mais j'ai besoin de l'aide d'un collègue pour finir de le résoudre. En attendant, pendant que je l'attends, je veux cacher ce conflit et continuer à travailler sur autre chose. Mais je ne veux pas perdre de progrès sur ce que j'ai déjà résolu.Git - comment cacher un conflit et le résoudre plus tard

Que dois-je faire? Existe-t-il un moyen d'accomplir cela, à part le fait de cloner à nouveau le repo dans un autre répertoire ou de copier manuellement le fichier en conflit et de le recopier ensuite?

Si j'essaie de cacher simplement, git se plaint comme ceci:

path/to/file/with/unresolved/conflict: needs merge 
path/to/file/with/unresolved/conflict: needs merge 
path/to/file/with/unresolved/conflict: unmerged (somesha) 
path/to/file/with/unresolved/conflict: unmerged (somesha) 
path/to/file/with/unresolved/conflict: unmerged (somesha) 
fatal: git-write-tree: error building trees 
Cannot save the current index state 

Répondre

2

Activer rerere dans votre répertoire:

$ git config rerere.enabled true 

Résoudre tous les conflits que vous pouvez, puis annuler l'opération de fusion (git merge --abort). Toutes les résolutions de conflits réussies seront enregistrées par rerere et rejouées plus tard automatiquement pour les mêmes conflits.

Voir cette entrée de blog: https://git-scm.com/blog/2010/03/08/rerere.html

+0

Merci! Je ne savais pas à ce sujet. :) – morgoth84