Git reset

Met het commando git reset kun je eenvoudig bepaalde commits terug draaien. Hier zijnin zijn 2 belangrijke verschillen in:

Git reset --soft [commit-id]
Stel je hebt twee commits gedaan en nog niet gepushed (belangrijk!) en je hebt toch besloten deze terug te draaien en alles opnieuw te committen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
git reset --soft HEAD^2


Of je zoekt met git log de goede hash op waar je precies naar terug wilt gaan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
git reset --soft f8ead412cfbb25d4383d80c27ce30e5a45c7129f


Als alles goed gaat zul je iets van van 'HEAD is now at..'. Je commits heb je weggegooit maar een belangrijk verschil is dat je wijzingen niet zijn verwijderd maar 'gestaged' zijn, dus deze kun je nu opnieuw committen.

git reset --hard HEAD^2
Deze versie lijkt veel op bovenstaande behalve het feit dat niet alleen de commits worden weggegooit maar ook alle wijzigingen die gedaan zijn aan de files, en deze wijzigingen zijn niet terug te draaien. Wees er voorzichtig mee.

In sommige gevallen was mijn branch een rommel geworden, met merges e.d. dat ik even terug wou naar het laatste moment zoals in gitweb staat. In zo'n geval doe ik een git reset --hard laatste-commit-id-op-gitweb.

N.b: commit-id is de unieke hash die bij een commit hoort. Deze kun je met gitweb of het commando git log bekijken.

« Lees de omschrijving en reacties

Inhoudsopgave

  1. Git clone of git init
  2. Git reset
  3. Git revert
  4. Git branch
  5. Git diff
  6. Git checkout
  7. Git cherry-pick
  8. Git merge en git rebase
  9. Git pull
  10. Git tag

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.