Utilisez theirs avec Git Merge

Yahya Irmak 30 janvier 2023
  1. Utilisez la commande git merge avec theirs dans Git
  2. Utilisez --strategy-option pour résoudre les conflits dans Git
  3. Utiliser une branche temporaire pour fusionner dans Git
Utilisez theirs avec Git Merge

Lors du développement de logiciels avec l’outil Git, vous pouvez créer différentes branches pour différentes fonctionnalités. Mais il peut y avoir des conflits entre les différentes branches.

Cet article explique comment utiliser la commande git merge avec l’option theirs pour résoudre les conflits.

Utilisez la commande git merge avec theirs dans Git

La commande git merge peut combiner deux ou plusieurs historiques de développement. Cependant, cette fusion ne peut parfois pas se faire en raison de conflits entre branches.

Les fichiers dans ours ou theirs doivent être supprimés pour résoudre ce conflit.

Le ours fait référence à la branche de travail d’origine avec l’autorité de l’historique Git, et le theirs fait référence à la branche qui contient les nouveaux commits appliqués.

Vous pouvez utiliser le git merge -s ours pour annuler les modifications apportées à ours. Cette commande annule toutes les modifications de l’autre branche et laisse les fichiers de votre branche inchangés.

Lors de la prochaine fusion à partir de l’autre branche, Git ne prendra en compte que les modifications apportées à partir de maintenant. Cependant, l’option -s ne peut pas être utilisée avec theirs.

Utilisez --strategy-option pour résoudre les conflits dans Git

Alternativement, nous pouvons utiliser theirs avec l’option -X ou --strategy-option.

La principale différence entre les options -X et -s est que -X effectue une fusion récursive régulière, résolvant tous les conflits en utilisant le côté choisi, tandis que -s modifie la fusion pour ignorer complètement l’autre côté.

La commande suivante résout tous les conflits en utilisant le theirs.

git merge -X theirs branchname

Utiliser une branche temporaire pour fusionner dans Git

Utilisez les commandes ci-dessous pour fusionner test2 dans test1 extrait.

Passez à la branche test1.

git checkout test1

Fusionnez le commit sans conflits. Le contenu de ours sera supprimé plus tard.

git merge -s ours test2

Créez une branche temporaire.

git branch temp

Définissez HEAD avec la commande git reset. Il récupère le contenu de la branche test2.

git reset --hard test2

Réinitialisez le commit fusionné mais conservez le contenu avec la commande git reset --soft.

git reset --soft temp

Modifiez le contenu du commit fusionné avec le contenu de test2.

git commit --amend

Supprimez la branche temporaire que nous avons créée précédemment.

git branch -D temp

Vous pouvez voir que le commit fusionné ne contient que le contenu de test2.

git diff HEAD test2
Auteur: Yahya Irmak
Yahya Irmak avatar Yahya Irmak avatar

Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.

LinkedIn

Article connexe - Git Merge