Hoe Git Merge 'CONFLICT' op te lossen?

Hoe Git Merge Conflict Op Te Lossen



Samenvoegen is een essentieel onderdeel bij het werken met meerdere branches van een lokale Git-repository. Het is nodig wanneer ontwikkelaars aan verschillende modules van hetzelfde project in afzonderlijke branches werken, omdat gebruikers alle wijzigingen naar de externe server moeten pushen voor samenwerking. Tijdens het samenvoegen komen gebruikers vaak eros of conflicten tegen. Er bestaan ​​bijvoorbeeld twee bestanden met dezelfde naam in verschillende branches. De inhoud van beide bestanden is echter verschillend en ze willen samenvoegen. In dit scenario zal er een conflict optreden.

Dit artikel vermeldt de methode voor het oplossen van het Git-samenvoegconflict.

Wanneer Git Merge 'CONFLICT' optreedt?

Het Git-conflict treedt op wanneer hetzelfde bestand bestaat in verschillende branches met verschillende inhoud. Bovendien kan het ook voorkomen wanneer een gespecificeerd bestand uit de ene tak wordt verwijderd maar in de andere tak wordt bewerkt.







Volg de onderstaande stappen om te begrijpen wanneer het samenvoegconflict optreedt:



  • Navigeer naar de genoemde repository.
  • Genereer een bestand en werk het bij.
  • Volg het bestand in het verzamelgebied en voer de wijzigingen door.
  • Maak een lijst van alle branches en schakel over naar een andere branch.
  • Voeg takken samen door de opdracht ' git merge ” commando.

Stap 1: Leid de genoemde repository om

Open de Git Bash-terminal, gebruik de ' CD ” commando en navigeer naar de genoemde repository:



CD 'C:\Users\gebruiker\Git\projectrepo'

Stap 2: genereer een bestand

Maak vervolgens een nieuw bestand met behulp van de ' aanraken ” commando:





aanraken bestand1.txt

Stap 3: Open Bestand in Editor

Gebruik de ' begin ” commando met de bestandsnaam om het bestand te starten met de standaardeditor:



start bestand1.txt

De resulterende uitvoer geeft aan dat de editor is geopend. Inhoud toevoegen en het bestand sluiten nadat het is opgeslagen:

Stap 4: Bestand toevoegen in Staging Area

Voeg nu het gewijzigde bestand toe aan het verzamelgebied met behulp van de ' git toevoegen ” commando voor verdere verwerking:

git toevoegen bestand1.txt

Stap 5: Voer wijzigingen door

Leg alle wijzigingen vast door de opdracht ' git vastleggen ' en geef een bericht op met behulp van de ' -M ' keuze:

git vastleggen -M 'bestand bijgewerkt en toegevoegd'

Stap 6: maak een lijst van takken

Maak nu een lijst van alle branches door de opdracht ' git tak ” commando:

git tak

De meegeleverde afbeelding laat zien dat alle branches op de console zijn weergegeven:

Stap 7: Wissel van filiaal

Om van de ene tak naar de andere over te schakelen, voert u de opdracht ' git afrekenen ” commando en voeg de filiaalnaam toe waarnaar u wilt verplaatsen:

git afrekenen kenmerk2

Hierdoor zijn we succesvol overgestapt van de “ alfa ' naar de ' kenmerk2 ' tak:

Stap 8: maak een bestand aan

Genereer in deze vermelde stap hetzelfde bestand van de ' alfa ” tak met dezelfde extensie:

aanraken bestand1.txt

Stap 9: Open het bestand

Gebruik de meegeleverde opdracht om het bestand te openen met de standaardeditor en inhoud toe te voegen:

start bestand1.txt

Stap 10: volg het bestand in het verzamelgebied

Voer de ' git toevoegen ”-opdracht om het bestand van het werkgebied naar het verzamelgebied te verplaatsen:

git toevoegen bestand1.txt

Stap 11: wijzigingen doorvoeren

Voer nu wijzigingen door door het onderstaande commando samen met het commit-bericht uit te voeren:

git vastleggen -M 'bestand toegevoegd en bijgewerkt in feature2 branch'

Stap 12: Takken samenvoegen

Gebruik vervolgens de ' git samenvoegen 'commando om samen te voegen' kenmerk2 ' met de ' alfa ' tak:

git samenvoegen alfa

Volgens de geleverde output, de ' CONFLICT: Conflict samenvoegen in bestand1.txt ” is tegengekomen:

Controleer waar het conflict zich voordoet in het opgegeven bestand door de opdracht ' begin ” commando:

start bestand1.txt

Het kan worden opgemerkt dat de inhoud van beide dezelfde bestanden van elkaar verschilt:

Stap 13: Samenvoegen afbreken

Gebruik de ' git samenvoegen ” commando samen met de “ –afbreken ” optie om de samenvoegbewerking te verwijderen:

git samenvoegen --afbreken

Ga verder om het genoemde conflict op te lossen dat zich in de bovenstaande sectie voordoet.

Hoe Git Merge-conflicten op te lossen?

Volg de onderstaande procedure om het Git-samenvoegconflict op te lossen:

  • Open het bestand waar het conflict zich voordoet en pas het aan.
  • Volg en bevestig de wijzigingen.
  • Voeg ten slotte beide takken samen.

Stap 1: Pas het bestand aan

Open het bestand met de standaardeditor en wijzig de inhoud volgens de ' alfa 'bestand van filiaal:

start bestand1.txt

Het kan worden opgemerkt dat het bestand is gewijzigd. Druk vervolgens op ' CTRL+S ” en sla het op:

Stap 2: Trackbestand

Voeg het bestand uit de werkdirectory toe aan het verzamelgebied door de gegeven opdracht uit te voeren:

git toevoegen bestand1.txt

Stap 3: wijzigingen doorvoeren

Om alle wijzigingen vast te leggen, gebruikt u de ' git vastleggen ” commando:

git vastleggen -M 'gewijzigd bestand is toegevoegd'

Als gevolg hiervan zijn de wijzigingen met succes doorgevoerd:

Stap 4: Takken samenvoegen

Voer nu de ' git samenvoegen ” filiaal samen met de andere filiaalnaam:

git samenvoegen alfa

Als gevolg hiervan zal de teksteditor openen en vragen om een ​​bericht voor het toevoegen van een commit. Pas het commit-bericht aan en sluit het na het opslaan:

De hieronder vermelde uitvoer laat zien dat het Git-samenvoegconflict is opgelost en de branches met succes zijn samengevoegd:

Dat is alles over het oplossen van het Git-samenvoegconflict.

Conclusie

Het Git-samenvoegconflict treedt op wanneer hetzelfde bestand wordt gewijzigd in twee verschillende branches met verschillende inhoud. Om dit vermelde conflict op te lossen, opent u hetzelfde bestand en wijzigt u de inhoud ervan volgens het andere filiaalbestand. Voeg het vervolgens toe aan het verzamelgebied en leg het vast. Gebruik ten slotte de ' git samenvoegen ” commando om takken samen te voegen. Dit bericht heeft de methode vermeld voor het oplossen van het Git-samenvoegconflict.