Question

Existe-t-il un moyen de forcer Git à forcer la résolution manuelle d'un fichier lorsque celui-ci a été modifié dans les deux branches?

Mon problème est que je veux certains des changements d'une branche et d'autres de l'autre. Il s'avère que ces modifications ne se chevauchent pas toujours, mais que l'algorithme ne sélectionne pas toujours les modifications correctes.

Une chose que j'ai remarquée, c'est que le fichier de base dans la fusion à 3 voies n'est pas ce à quoi je m'attendais. Est-il possible que Git utilise un fichier choisi d’une branche comme base?

Pas de solution correcte

Autres conseils

Si git détecte des conflits dans un fichier, il vous demandera toujours d’éditer (ou d’utiliser un outil de fusion) pour résoudre les conflits. Dans ce cas, vous pouvez le corriger comme bon vous semble avant de le mettre en scène.

Si git n'a pas détecté de conflits dans un fichier particulier, mais a détecté des conflits ailleurs, vous pouvez toujours réparer ce fichier et ajouter les correctifs ( git add ) avant la validation de la fusion.

Dans ce cas, vous pouvez accéder aux deux versions parent différentes du fichier via git show HEAD: chemin / vers / fichier et git show MERGE_HEAD: chemin / vers / fichier . Vous pouvez rediriger la sortie git show vers des temporaires si vous souhaitez les ouvrir dans un éditeur, par exemple.

Une fois que vous avez corrigé le fichier et résolu tous les conflits, vous pouvez organiser le correctif ( git add ) et effectuer la validation de fusion ( git commit ).

Si git n'a détecté aucune validation, il effectuera la validation de la fusion sans autre invite.

Dans ce cas, vous pouvez toujours réparer votre fichier. Les deux versions parentes sont accessibles via git show HEAD: chemin / vers / fichier et git show HEAD ^ 2: chemin / vers / fichier .

Une fois que vous avez corrigé le fichier, vous pouvez mettre en scène ( git add ) et refaire la validation de la fusion avec git commit --amend .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top