I denne artikkelen skal jeg vise deg hvordan du bruker git blame for å spore forfatterne av et prosjekt. Så la oss komme i gang.
Sette opp et eksempel på Git Repository:
Hvis du lærer Git, kan du klone hvilket som helst Git-arkiv fra GitHub til datamaskinen din for å prøve kommandoene i denne artikkelen. Hvis du vil bruke ditt eget Git-depot, er det også bra.
Jeg vil klone h5bp / html5-kjeleplate Git-depot fra GitHub for demonstrasjon av git-skyld i denne artikkelen.
$ git klon https: // github.no / h5bp / html5-kjeleplate.git
Nå, naviger til html5-boilerplate / katalog som følger:
$ cd html5-boilerplate /
I html5-kokeplate / katalog, har jeg noen filer og kataloger. I neste avsnitt vil jeg vise deg hvordan du bruker git-skyld på dette Git-depotet.
Grunnleggende bruk:
For å finne forfatteren og begå informasjon om hver linje i den sist endrede versjonen av filen (la oss si myfile) i Git-depotet ditt, kjører du git skyld som følger:
$ git skyld på filen minI mitt Git-arkiv har jeg en fil gulpfile.babel.js. La oss si, jeg vil sjekke forfatteren og begå informasjon om denne filen linje for linje. For å gjøre det, vil jeg kjøre git-skylden som følger:
$ git skyld på gulpfile.babel.js
Du burde få noe slikt. Her viser git blame innholdet i filen inkludert linjenumre til høyre. På venstre side av hver linje viser git-skyld kommisjonen, forfatteren som er ansvarlig for denne forpliktelsen, datoen og tidspunktet for forpliktelsen. En forpliktelse kan endre flere kodelinjer i en kildefil. En kommisjon kan bare endre en enkelt kodelinje i en kildefil. Så den samme kommisjonen hash kan vises for flere linjer. Det kan også vises bare en gang. Det avhenger av forpliktelsen.
Herfra kan du se hvilken forfatter som endret hvilken linje i kildefilen. Du kan også se hvilken forpliktelse som er ansvarlig for den endringen og når endringen ble gjort.
Hvis filen har mye linje, kan du navigere ved hjelp av
Nå, hvis du vil lære mer om hva som endret seg i en forpliktelse, kopierer du bare tiltakshashen og bruker git-loggen som følger.
$ git log -p 2ad70775
Du bør være i stand til å se hele meldingsmeldingen, hvilke linjer som fjernes og hvilke linjer som er lagt til siden kommisjonen før den.
Viser forfatterens e-post:
Som standard viser git blame forfatternavnet. Hvis du vil se forfatterens e-post i stedet, kjør git blame med -e alternativ som følger:
$ git skyld -e gulpfile.babel.js
Som du kan se, vises forfatterens e-post i stedet for forfatternavnet.
Viser Long Commit Hash:
Som standard viser git blame korte kommisjonshasher som også er unike. Så du kan bruke den uten problemer. Men hvis du foretrekker å se hash i full lengde, kan du bruke -l mulighet for git skyld som følger.
$ git skyld -l gulpfile.babel.js
Som du kan se, vises full-hash-hashes i stedet for de korte.
Hvis du vil, kan du også kombinere flere alternativer for å få den effekten du ønsker. For eksempel, for å se forfatterens e-post og long commit hash, kan du kombinere -e og -l alternativene sammen som følger:
$ git blame -el gulpfile.babel.jsViser rå tidsstempel:
Som standard viser git blame en pent formatert dato og tid. Men hvis du av en eller annen grunn trenger dato og tid som tidsstempelverdier, kan du bruke -t muligheten for git skyld som følger:
$ git skyld -t gulpfile.babel.js
Som du kan se, vises tidsstempelverdiene.
Listing Specific Range of Lines:
Hvis du bare vil inspisere spesifikke linjer med en fil ved hjelp av git blame, kan du bruke -L alternativ.
For å vise et område med -L alternativ, bruk git blame som følger:
$ git skyld -L startLineNumber, endLineNumber filePathFor eksempel for å vise linjer 10-20 fra filen gulpfile.babel.js, kjør git skylden som følger:
$ git skyld -L 10,20 gulpfile.babel.js
Å vise N antall linjer som starter fra linjen X, kjør git skylden som følger:
$ git skyld -L X, + NFor eksempel å vise 5 linjer som starter fra linjen 15 av filen gulpfile.babel.js, kjør git skylden som følger:
$ git skyld -L 15, + 5 gulpfile.babel.js
Å vise N antall linjer før linjen X, kjør git skylden som følger:
$ git skyld -L X, -NFor eksempel for å vise 5 linjer før fra linjen 15 (inkludert linje 15) av filen gulpfile.babel.js, kjør git skylden som følger:
$ git skyld -L 15, -5 gulpfile.babel.js
Får hjelp:
git blame har mange flere alternativer. Jeg dekket de vanlige i denne artikkelen. Hvis du trenger hjelp med noen av alternativene for git blame, kan du sjekke mannssiden for git blame som følger:
$ mann git-skyld
Eller,
$ git hjelpe skylden
Mannsiden til git skylden.
Så det er slik du bruker git-skyld på ønsket Git-depot. Takk for at du leser denne artikkelen.