Hoe kan ik de wijzigingsgeschiedenis van een individueel bestand in Git bekijken, complete details met wat er veranderd is?
Ik ben zo ver gekomen als:
git log -- [filename]
die me de commit geschiedenis van het bestand laat zien, maar hoe kom ik bij de inhoud van elk van de bestandswijzigingen?
Ik'probeer de overgang te maken van MS SourceSafe en dat was vroeger een simpele rechtsklik
→ geschiedenis tonen
.
U kunt gebruik maken van
git log -p filename
om git de patches voor elke logboek regel te laten genereren.
Zie
git help log
voor meer opties - het kan eigenlijk een heleboel leuke dingen doen :) Om alleen de diff voor een specifieke commit te krijgen kun je
git show HEAD
of een andere revisie met een identifier. Of gebruik
gitk
om de wijzigingen visueel te bekijken.
git whatchanged -p bestandsnaam
is in dit geval ook gelijk aan git log -p bestandsnaam
.
Je kunt ook zien wanneer een specifieke regel code in een bestand is veranderd met git blame filename
. Dit zal een kort commit id, de auteur, tijdstempel, en complete regel code voor elke regel in het bestand uitprinten.
Dit is erg handig als je een bug gevonden hebt en je wilt weten wanneer die geïntroduceerd is (of wie zijn fout het was).
Als je de git GUI gebruikt (op Windows) onder het Repository menu kun je "Visualize master's History" gebruiken. Markeer een commit in het bovenste deelvenster en een bestand rechtsonder en je'zult de diff voor die commit linksonder zien.