Ik heb een heleboel commits in de repo. Ik wil een lijst zien van bestanden die veranderd zijn tussen twee commits - van SHA1 naar SHA2.
Welk commando moet ik gebruiken?
git diff --name-only SHA1 SHA2
waarbij je alleen genoeg van de SHA hoeft op te nemen om de commits te identificeren. Je kunt ook, bijvoorbeeld
git diff --name-only HEAD~10 HEAD~5
om de verschillen te zien tussen de tiende laatste commit en de vijfde laatste (of zo).
git diff --name-status [SHA1 [SHA2]]
is als --naam-alleen, behalve dat je een eenvoudig voorvoegsel krijgt dat je vertelt wat er met het bestand is gebeurd (gewijzigd, verwijderd, toegevoegd...)
git log --name-status --oneline [SHA1..SHA2]
is vergelijkbaar, maar commits worden weergegeven na de commit boodschap, zodat je kunt zien wanneer een bestand gewijzigd is.
als je'geïnteresseerd bent in wat er met bepaalde bestanden/mappen is gebeurd, kun je -- <filename> [<filename>...]
toevoegen aan de git log
versie.
als je wilt zien wat er voor een enkele commit gebeurd is, noem het SHA1, doe dan
git log --naam-status --online [SHA1^..SHA1]
Bestands status vlaggen:
M modified - Bestand is gewijzigd
C copy-edit - Bestand is gekopieerd en gewijzigd
R rename-edit - Bestand heeft een nieuwe naam gekregen en is gewijzigd
A toegevoegd - Bestand is toegevoegd
D deleted - Bestand is verwijderd
U unmerged - Bestand heeft conflicten na een samenvoeging
Maar om de bestanden te zien die gewijzigd zijn tussen uw tak en zijn gemeenschappelijke voorouder met een andere tak (zeg origin/master):
git diff --name-only `git merge-base origin/master HEAD`