We behandelen:

  • Rebase: Geschiedenis herschrijven zonder tijdmachine
  • Cherry-Pick: Commits plukken als rijp fruit
  • Squash: Van rommelige commits een kunstwerk maken
  • Stash: De digitale rommellade voor je code
  • Interactieve Rebase: God spelen met je commitgeschiedenis

Rebase: De kunst van het herschrijven van geschiedenis

Stel je voor dat je terug in de tijd kon gaan om gênante momenten te herstellen. Nou, met git rebase kun je dat doen... tenminste voor je code.

Wat is Rebase eigenlijk?

Rebase is als een chique tijdmachine voor je commits. Het stelt je in staat om een hele tak naar een nieuwe basiscommit te verplaatsen. Zie het als ctrl+X, ctrl+V, maar dan voor je Git-geschiedenis.

Wanneer de Rebase-beest loslaten

  • Om een schone, lineaire geschiedenis te creëren voordat je samenvoegt
  • Om onnodige merge-commits te vermijden (want wie heeft die rommel nodig?)
  • Wanneer je je als een Git-tovenaar wilt voelen

Rebase in actie

Zo voer je een rebase uit:


# Schakel over naar je feature-branch
git checkout feature-branch

# Rebase op main
git rebase main

Maar wacht! Voordat je rebase-gek wordt, onthoud:

"Met grote kracht komt grote verantwoordelijkheid." - Oom Ben (en elke Git-gebruiker ooit)

Rebase Veiligheidstips

  • Rebase nooit openbare branches (tenzij je van chaos en de tranen van je mede-ontwikkelaars houdt)
  • Gebruik git pull --rebase om je lokale branch bij te werken zonder merge-commits te maken

Cherry-Pick: De scherpschutter van Git-commando's

Cherry-picking in Git is als een code-scherpschutter zijn. Je selecteert precies individuele commits en past ze toe waar je maar wilt. Het is chirurgisch, het is precies, en het laat je voelen als een Git-ninja.

Wanneer Cherry-Picken

  • Wanneer je die ene briljante fix van een andere branch nodig hebt
  • Om functies naar oudere versies terug te brengen
  • Wanneer je per ongeluk naar de verkeerde branch hebt gecommit (we zijn er allemaal geweest)

Hoe Cherry-Picken als een Pro


# Zoek de commit-hash die je wilt
git log --oneline

# Cherry-pick die commit
git cherry-pick abc123

Onthoud, met grote cherry-picking kracht komt... nou ja, je weet de rest.

Squash: Van je commit-spaghetti een gastronomisch gerecht maken

Commits samenvoegen is als je kamer opruimen voordat je ouders op bezoek komen. Het laat alles er netjes en georganiseerd uitzien, zelfs als het vijf minuten geleden nog een puinhoop was.

Het Squash Recept


# Start een interactieve rebase
git rebase -i HEAD~3

# Verander in de editor 'pick' in 'squash' voor de commits die je wilt combineren
# Sla op en sluit de editor
# Schrijf een nieuw commit-bericht voor de samengevoegde commit

Pro tip: Gebruik squash wanneer je commitgeschiedenis eruitziet als een dagboek van je mentale inzinking tijdens een codeersessie.

Stash: De geheime verstopplek van je code

git stash is als die lade waar je snel alles in stopt als er onverwachte gasten komen. Het is een redder in nood wanneer je snel van context moet wisselen.

Stashing in actie


# Stash je wijzigingen
git stash

# Doe ander werk...

# Haal je wijzigingen terug
git stash pop

Onthoud: Wat in stash gebeurt, blijft in stash... totdat je het eruit haalt.

Interactieve Rebase: God spelen met je commitgeschiedenis

Interactieve rebase is waar het echt leuk wordt. Het is als een tijdmachine, een teleporter en een toverstokje in één Git-commando.

De Interactieve Rebase Speeltuin


# Start een interactieve rebase voor de laatste 5 commits
git rebase -i HEAD~5

In de editor die opent, kun je:

  • Commits herschikken (knippen en plakken van regels)
  • Commits verwijderen (regels verwijderen)
  • Commits samenvoegen (verander 'pick' in 'squash')
  • Commits bewerken (verander 'pick' in 'edit')
  • Commits splitsen (verander 'pick' in 'edit' en gebruik dan git reset HEAD^)

Het is als de regisseur zijn van je eigen Git-film. "Cut! Laten we die commit opnieuw doen, maar deze keer met gevoel!"

Afronden: Git Meesterschap Ontgrendeld

Het beheersen van deze geavanceerde Git-technieken is als upgraden van een roestige oude fiets naar een slanke sportwagen. Zeker, beide brengen je er, maar de ene doet het met stijl en efficiëntie.

Onthoud:

  • Rebase voor een schone geschiedenis
  • Cherry-pick voor precieze wijzigingen
  • Squash om gerelateerde commits te groeperen
  • Stash om snel van context te wisselen
  • Interactieve rebase om een Git-tijdheer te worden

Ga nu op pad en Git met vertrouwen! En onthoud, met deze krachten ben je slechts één git push --force verwijderd van glorie of ramp. Kies wijs!

"Ik Git, dus ik ben... soms verward, maar altijd lerend." - Descartes (waarschijnlijk)

Veel Git-plezier, mede code-beheerders!