Git diff

Met "git diff" heb je diverse mogelijkheden. Ik gebruik het regelmatig. Ondersteund je command line interface kleurtjes, dan werkt het nog makkelijker.

Met git diff kun je verschillende dingen doen. Bijvoorbeeld de wijzigingen bekijken van een bestand die nog niet 'gestaged' of 'committed' is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
git diff ./path/somePHPFile.php


Met bovenstaand commando krijg je een overzicht van alle wijzingen in het bestand ten opzichte van de 'huidige' versie en daarmee bedoel ik de versie van dit bestand in de laatste commit lokaal of remote.

Commits of branches vergelijken
Nog handiger, is bekijken wat de verschillen zijn tussen de huidige versie en de vorige commit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
git diff HEAD^1..HEAD


HEAD^1 betekend, de huidige versie maar dan 1 commit terug in de branch waar je in zit. En ..HEAD zegt dat je het wil vergelijken met de meest recente commit. Het resultaat van een diff (als die er is), is vrij eenvoudig. Met de minnetjes zie je wat er weggegaan is en met de plusjes wat erbij gekomen is aan de code. Ondersteun je kleurtjes dan is dit ook respectievelijk rood en groen.

Om even terug te komen op het 'swiftmailer' voorbeeld, uit de de pagina "git branch", stel je hebt je swiftmailer feature af en voordat je deze branch wilt mergen of rebasen in de master je wilt kijken wat alle verschillen zijn en wat er allemaal omgebouwd wordt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
git diff swiftmailer..master


Op die manier krijg je dus alle verschillen tussen deze 2 branches, en weet je ook wat je eventueel aan conflicten kan tegenkomen als je ze gaat mergen.

Je kunt ook een commit-id gebruiken:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
git diff HEAD..ac815af53a8e085729ea834b0c376c8329a8c8da


Je kunt ook 2 commit-id's gebruiken, zoals je wellicht wel begrijpt.

Er zijn ook nog een tal van opties, die je met "git help diff" kan onderzoeken. Bijvoorbeeld de --shortstat optie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
git diff HEAD..master --shortstat

202 files changed, 2837 insertions(+), 13318 deletions(-)

« 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.