Mergen & rebasen
Vanuit de zijbalk
Rechtsklik een branch voor Mergen in huidige of Rebasen op — of Mergen met opties… wanneer de gewone merge juist degene is die steeds misgaat; zie merge-opties.
Sleep de ene ref op de andere
Het snelste gebaar in de app: pak een branch op en laat hem op een andere vallen. Gitcito opent een klein menu met wat die drop zou kunnen betekenen, en doet niets tot jij kiest.

Het werkt op beide plekken waar refs getoond worden — de branch-, remote- en tagrijen in de zijbalk, en de gekleurde ref-badges in de grafiek zelf. Sleep ertussen in elke combinatie; het doel licht op zolang je erboven zweeft.
| Drop | Betekent |
|---|---|
| Merge {bron} → {doel} | Checkt het doel uit en merget de bron erin |
| Rebase {bron} op {doel} | Speelt de commits van de bron bovenop het doel opnieuw af |
| Vergelijken | Opent de vergelijking — verandert niets |
Het menu biedt alleen wat git kan. Mergen commit op het doel, dus het doel moet een lokale branch zijn — je kunt niet in een tag of een remote-tracking ref mergen. Rebasen herschrijft de bron, dus de bron moet een lokale branch zijn. Laat een tag op een remote branch vallen en het enige dat je krijgt is Vergelijken, want dat is werkelijk alles wat er is.
Rebasen vraagt eerst om bevestiging: het geeft elke opnieuw afgespeelde commit een nieuwe hash, wat een force push betekent als de branch al gepubliceerd is. Mergen vraagt niets — het voegt alleen toe. Hoe dan ook zet één keer Ongedaan maken je terug.
Mergen
Fast-forward waar mogelijk, of een merge-commit afdwingen wanneer je de topologie wilt vastleggen. Conflicteert het, dan land je in de oplosser.
Twee willekeurige refs vergelijken
Kies een basis en een vergelijkingsref — branch, tag of kale SHA, met een wisselknop — en je krijgt tellingen voor voor/achter, de commits die uniek zijn voor elke kant, de volledige gecombineerde diff, en met één klik een overdracht naar een PR openen.

Bereikbaar vanuit de zijbalk (vergelijken met de huidige branch), het Tools-menu, of ⌘K.
Cherry-picken, reverten, resetten
Cherry-picken en reverten wonen in het contextmenu van de grafiek, zoals altijd al. Reset is één item — Resetten naar commit… — in plaats van drie kale soft/mixed/hard-items die elkaar tegenspraken.
Aanpassen, ongedaan maken en resetten staan bovenaan het menu voor één commit en blijven zichtbaar wanneer ze onveilig zijn: ze worden uitgeschakeld, met een tooltip die zegt waarom. Ongedaan maken is alleen voor een niet-gepushte HEAD; aanpassen mag ook op een gepubliceerde HEAD, maar waarschuwt dat er een force push nodig zal zijn. Resetten reikt alleen tot lokale voorouders plus de eerste gepubliceerde commit — niet tot willekeurige oudere geschiedenis.
De resetdialoog maakt de modus expliciet:

| Modus | Resultaat |
|---|---|
| Soft | Houd de wijzigingen gestaged |
| Mixed | Houd de wijzigingen unstaged |
| Hard | Gooi de commits en hun wijzigingen weg |
Hard is nooit vooraf geselecteerd. Een vuile werkboom krijgt een extra waarschuwing, omdat resetten werk in uitvoering kan overschrijven of ermee kan conflicteren. Bekijken op GitHub staat bij de kopieeracties en opent alleen voor gepubliceerde commits op een github.com-remote.
Selecteer eerst meerdere commits en cherry-pick past de hele selectie toe, op volgorde.
Voor je iets merget
De conflictradar scant elke branch tegen een basis en vertelt je welke gaan vechten, zonder iets uit te checken.
Zie ook: Interactieve rebase · Gestapelde branches · Conflictradar