Fusion des conflits: ce qu'ils sont et comment les gérer
Cet article poursuit notre série "Advanced Git". Suivez la tour sur Twitter ou abonnez-vous à leur newsletter pour des mises à jour sur les futurs articles.
Merger les conflits: une frustration commune pour les utilisateurs de GIT, en particulier ceux qui collaborent. Cependant, ils sont souvent moins intimidants qu'ils semblent. Cet versement explique leurs causes, leur nature et leur résolution.
Série avancée GIT:
- Partie 1: maîtriser le git engagement
- Partie 2: Stratégies de ramification GIT efficaces
- Partie 3: rationalisation de la collaboration avec les demandes de traction
- Partie 4: Abatter les conflits de fusion ( vous êtes là! )
- Partie 5: Rebase vs Merge: Une analyse comparative
- Partie 6: La puissance de la rebase interactive
- Partie 7: Commits de cueillette des cerises: une approche sélective
- Partie 8: Récupérer les engagements perdus avec le réflog
Comprendre les conflits de fusion: causes et occurrence
Les conflits de fusion surviennent lors de l'intégration des changements de différentes sources dans votre branche actuelle. Cela ne se limite pas à la fusion de branches; Rebasing, la cueillette des cerises, git pull
ou même la réapplication de la cachette peuvent tous déclencher des conflits. Bien que toutes les intégations ne mènent pas à un conflit, des conflits se produisent lorsque des changements contradictoires existent.
Les prouesses fusionnées de Git sont une force clé. Il gère automatiquement la plupart des intégrations. Cependant, lorsque les modifications sont confrontées à un conflit, par exemple, la même ligne de code modifiée différemment dans deux commits ou un fichier modifié dans une branche et supprimée dans un autre - GIT nécessite une intervention humaine pour résoudre l'ambiguïté.
Reconnaître les conflits de fusion
Git signale clairement la fusion des conflits. Une fusion ou une rebase échouée sera immédiatement signalée dans le terminal:
<code>$ git merge develop CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result.</code>
Même si vous manquez ce message, git status
mettra en évidence le conflit. Git GUIS Comme Tower fournit des indices visuels pour vous assurer de ne pas négliger les conflits. Rassurez-vous, Git rend difficile de manquer un conflit de fusion.
Annuler un conflit de fusion
Ignorer un conflit de fusion n'est pas une option; il doit être abordé. Vous avez deux choix: résoudre le conflit ou annuler l'action qui l'a causée.
La perte est souvent simple en utilisant le paramètre --abort
(par exemple, git merge --abort
, git rebase --abort
). Cela inverse la fusion / rebase, restaurant l'état pré-conflit. Cela fonctionne même si vous avez commencé à résoudre des fichiers; Vous pouvez toujours interrompre et redémarrer.
L'anatomie d'un conflit de fusion
Examinons un fichier index.html
en conflit:
Git marque des sections contradictoires avec . Le contenu après ce marqueur est de votre branche actuelle (tête). <code>=======
sépare les changements contradictoires, suivis des changements de l'autre branche (par exemple, develop
), marqué par .
Votre tâche consiste à modifier le fichier, à l'aide d'un éditeur de texte, d'une IDE, d'une GIT GUI ou d'un outil de fusion, pour résoudre le conflit.
Résoudre les conflits de fusion
La méthode de résolution - éditeur de texte, IDE, GUI ou outil de fusion - n'a pas d'importance; Le fichier final doit refléter l'état souhaité. Des conflits simples pourraient impliquer de rejeter un changement. Des conflits plus complexes peuvent nécessiter une collaboration pour décider quel changement de conserver ou comment les combiner.
Bien que l'édition manuelle soit possible, les outils dédiés rationalisent souvent le processus. Git GUIS offre des aides à la résolution des conflits visuels. Les outils de fusion fournissent des fonctionnalités de visualisation et de comparaison de DiFF avancées (côte à côte, vues combinées, etc.). Configurez votre outil préféré à l'aide git config
et invoquez-le avec git mergetool
.
Après avoir résolu le conflit et mis en scène les modifications ( git add<filename></filename>
), commettez les changements comme d'habitude.
Ne pas paniquer!
Les conflits de fusion sont gérables. Comprendre la cause vous permet de défaire ou de résoudre le conflit. Même les erreurs sont réversibles; Revenez simplement à l'engagement pré-conflit et recommencez.
Pour une plongée plus profonde dans le GIT avancé, explorez le "Kit Git avancé" gratuit avec des vidéos sur la branche, la rébase interactive, le réflog, les sous-modules, etc.
Série avancée GIT:
- Partie 1: maîtriser le git engagement
- Partie 2: Stratégies de ramification GIT efficaces
- Partie 3: rationalisation de la collaboration avec les demandes de traction
- Partie 4: Abatter les conflits de fusion ( vous êtes là! )
- Partie 5: Rebase vs Merge: Une analyse comparative
- Partie 6: La puissance de la rebase interactive
- Partie 7: Commits de cueillette des cerises: une approche sélective
- Partie 8: Récupérer les engagements perdus avec le réflog
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Il est sorti! Félicitations à l'équipe Vue pour l'avoir fait, je sais que ce fut un effort massif et une longue période à venir. Tous les nouveaux documents aussi.

J'ai eu quelqu'un qui écrivait avec cette question très légitime. Lea vient de bloguer sur la façon dont vous pouvez obtenir les propriétés CSS valides elles-mêmes du navigateur. C'est comme ça.

Je dirais que "Site Web" correspond mieux que "Application mobile" mais j'aime ce cadrage de Max Lynch:

L'autre jour, j'ai repéré ce morceau particulièrement charmant sur le site Web de Corey Ginnivan où une collection de cartes se cassent les uns sur les autres pendant que vous faites défiler.

Si nous devons afficher la documentation à l'utilisateur directement dans l'éditeur WordPress, quelle est la meilleure façon de le faire?

Il existe un certain nombre de ces applications de bureau où l'objectif montre votre site à différentes dimensions en même temps. Vous pouvez donc, par exemple, écrire

Questions sur les zones de slash violet dans les dispositions flexibles Lorsque vous utilisez des dispositions flexibles, vous pouvez rencontrer des phénomènes déroutants, comme dans les outils du développeur (D ...

CSS Grid est une collection de propriétés conçues pour faciliter la mise en page qu'elle ne l'a jamais été. Comme tout, il y a un peu une courbe d'apprentissage, mais Grid est
