Jeg har en haug med commits i repoen. Jeg vil se en liste over filer som er endret mellom to commits - fra SHA1 til SHA2.
Hvilken kommando skal jeg bruke?
git diff --name-only SHA1 SHA2
der du bare trenger å inkludere nok av SHA til å identifisere forpliktelsene. Du kan også gjøre for eksempel
git diff --name-only HEAD~10 HEAD~5
for å se forskjellene mellom den tiende siste commit og den femte siste (eller så).
git diff --name-status [SHA1 [SHA2]]
er som --name-only, bortsett fra at du får et enkelt prefiks som forteller deg hva som har skjedd med filen (endret, slettet, lagt til...).
git log --name-status --oneline [SHA1..SHA2]
er lik, men overleveringer er oppført etter overleveringsmeldingen, slik at du kan se når en fil ble endret.
Hvis du er interessert i hva som skjedde med bestemte filer/mapper, kan du legge til -- <filename> [<filename>...]
til git log
-versjonen.
Hvis du vil se hva som skjedde for en enkelt overføring, kaller du det SHA1, og gjør deretter
git log --name-status --oneline [SHA1^..SHA1]
Filstatusflagg:
M modified - Filen har blitt endret
C copy-edit - Filen er kopiert og endret.
R rename-edit - Filen har fått nytt navn og er endret.
A lagt til - Filen er lagt til
D deleted - Filen har blitt slettet
U unmerged - Filen har konflikter etter en sammenslåing.