Hoe je branches samenvoegt in GitHub: een stapsgewijze handleiding

Het samenvoegen van branches in GitHub is essentieel wanneer meerdere mensen (of zelfs verschillende functies waaraan je werkt) samen moeten komen. Als je er nieuw in bent, kan het soms wat overweldigend aanvoelen, vooral als er conflicten ontstaan ​​of als je het vanaf de opdrachtregel probeert te doen en niet precies weet welke opdrachten belangrijk zijn. Deze handleiding helpt je daarbij – of je nu liever op de website klikt of opdrachten in je terminal typt. Verwacht dat je codewijzigingen soepel kunt combineren en je project overzichtelijk kunt houden, zonder per ongeluk andermans werk te overschrijven of in een merge-hel te belanden.

Hoe voeg ik een branch samen in GitHub?

Methode 1: Samenvoegen met de GitHub-website

Dit is vaak het makkelijkst voor degenen die geen zin hebben om met terminalopdrachten te rommelen. Het is visueel, eenvoudig en Reddit-vriendelijk genoeg. Bovendien kun je het rechtstreeks vanuit je browser doen, dus er is geen installatie nodig.

  1. Open de repository op GitHub waar uw branches zich bevinden.
  2. Klik op het tabblad Pull requests bovenaan de repo-pagina.
  3. Klik op Nieuwe pull-aanvraag.
  4. Kies de basisbranch (waarschijnlijk main of master) en vergelijk deze met de featurebranch die je wilt mergen (bijvoorbeeld feature-xyz).Als je niet zeker weet welke welke is, zijn die meestal duidelijk gemarkeerd.
  5. Controleer welke wijzigingen samengevoegd gaan worden. Soms is het goed om dit nog een keer te controleren, vooral als er recent veel updates zijn geweest.
  6. Klik op ‘Create pull request’. Voeg een korte titel en een opmerking toe over wat deze merge doet (want GitHub dwingt je dat natuurlijk).
  7. Als alles er goed uitziet, klikt u op de knop Pull request samenvoegen.
  8. Bevestig de samenvoeging door op Samenvoeging bevestigen te klikken. En voilà, klaar! Je branch is nu onderdeel van datgene waarin je samenvoegt.

Veel mensen klonen de repository daarvoor of daarna lokaal op hun machine om direct aan de code te werken en pushen deze vervolgens terug wanneer ze klaar zijn. Dat is waarschijnlijk logischer voor serieuze ontwikkelaars.

Methode 2: Samenvoegen via de opdrachtregel

Dit is waar sommige mensen Git Bash, Terminal of PowerShell gebruiken en wat handmatig werk doen. Het gaat sneller als je het eenmaal onder de knie hebt, en soms is het de enige manier als je dingen automatiseert of aan CI/CD-pipelines werkt.

  1. Open uw terminal of Git Bash.
  2. Navigeer naar uw lokale repo-map met behulp van cd /path/to/your/repo.
  3. Zorg ervoor dat je op de hoofdbranch zit: git checkout main. Als je hoofdbranch master of iets anders heet, vervang dit dan door de juiste naam.
  4. Haal de laatste wijzigingen op uit de bron: git pull origin main.
  5. Voeg je feature-branch samen: git merge feature-branch. Vervang feature-branchdoor de naam van je branch.
  6. Als er geen conflicten zijn, kunt u de gecombineerde code terugsturen: git push origin main.

Als er conflicten optreden, moet je die bestanden openen, bepalen welke regels je wilt behouden en vervolgens git addde opgeloste bestanden uitvoeren. Daarna git commitmoet je de samenvoeging voltooien. Conflicten zijn vervelend, maar beheersbaar – soms is een snelle handmatige bewerking voldoende. Leuk weetje: in sommige configuraties duiken conflicten op, ook al zouden ze dat niet moeten doen. Dat is…een beetje vreemd, maar resetten of rebasen kan helpen.

Omgaan met samenvoegingsconflicten

Conflicten ontstaan ​​wanneer twee branches wijzigingen in dezelfde coderegels hebben. Als Git niet weet welke te behouden, markeert het die secties en moet jij een keuze maken.

  1. Git markeert de conflicterende bestanden nadat je hebt geprobeerd te mergen. Meestal wordt aangegeven welke bestanden gerepareerd moeten worden.
  2. Open deze bestanden in je code-editor. Let op secties gemarkeerd met <<<<<<<, ======= en >>>>>>>.Dat is Git die je vertelt waar de conflicten zich bevinden.
  3. Bepaal welke wijzigingen u wilt behouden, verwijder de conflictmarkeringen en sla de wijzigingen op.
  4. Uitvoeren git add.om de opgeloste bestanden klaar te zetten.
  5. Sluit af met git commit: tijdens deze commit kun je zelfs een bericht toevoegen over het oplossen van conflicten.
  6. Push uw wijzigingen naar remote: git push origin main.

Dit proces kan de eerste paar keer frustrerend zijn, vooral als er onverwachts conflicten ontstaan ​​of tijdens complexe fusies. Maar na een paar keer wordt het minder vervelend en begin je conflicten al vroeg te signaleren.

Waarom samenvoegen belangrijk is

Samenvoegen zorgt er in principe voor dat al het werk synchroon blijft. Het zorgt ervoor dat iedereen aan de nieuwste code werkt, voorkomt dubbele taken en voorkomt dat er een wirwar van verschillende versies ontstaat.

Veelgestelde vragen

Hoe voeg ik branches samen in GitHub Desktop?

Open GitHub Desktop en schakel over naar je basisbranch (zoals main).Klik op Branch > Merge into Current Branch en selecteer je feature branch. Het is vrij eenvoudig als je er eenmaal aan gewend bent.

Kan ik een samenvoeging in GitHub ongedaan maken?

Ja, als het recent is, kun je een git reset uitvoeren —zoals git reset --hard HEAD~1— om de laatste merge ongedaan te maken. Als het ouder is of gepusht, moet je mogelijk een revert uitvoeren. Het is nogal riskant, dus bewaar back-ups als je het niet zeker weet.

Wat is het verschil tussen samenvoegen en opnieuw baseren?

Samenvoegen behoudt de geschiedenis zoals die is ontstaan, waarbij alle branches intact blijven, terwijl rebase de geschiedenis herschrijft in een lineaire stroom. Rebase kan netter zijn, maar lastig als je niet voorzichtig bent.

Heb ik toestemming nodig om branches samen te voegen?

Hangt af van het project. Voor de meeste gedeelde repositories heb je schrijf- of beheerdersrechten nodig om te mergen in de hoofd- of productiebranche. Anders moet je een pull request openen en wachten op goedkeuring.

Afronding

Het samenvoegen van branches is een essentieel onderdeel van werken met GitHub. Of je nu op knoppen klikt of opdrachten typt, het belangrijkste is om wijzigingen dubbel te controleren, conflicten zorgvuldig op te lossen en je geschiedenis overzichtelijk te houden. Soms gaat het niet perfect, maar dat hoort bij het leerproces. Als je in een team werkt, zorgen goede samenvoegingen ervoor dat alles soepel verloopt en dat twijfels of het opnieuw doen van werk worden verminderd. Houd conflicten in de gaten wanneer ze zich voordoen, en je repository blijft gezond.