Kako vidjeti promjene u git obvezanju?

Kada napravim git diff COMMIT vidim promjene između ovog urezivanja i GLAVE (koliko ja znam), ali bih volio vidjeti promjene koje su napravljene ovom jednom objavom.

Nisam pronašla nikakve očite razlike / log opcije koje bi mi dale takav zaključak.

1114
10 июля '13 в 9:22 2013-07-10 09:22 laktak je postavljen 10. srpnja '13 u 9:22 2013-07-10 09:22
@ 17 odgovora

Da biste vidjeli razliku za određenu COMMIT hash:

git diff COMMIT~ COMMIT će vam pokazati razliku između ovog pretka COMMIT i COMMIT . Pogledajte stranice za Git diferencijal za detaljne informacije o timu i stavovima o notaciji i njezinim prijateljima.

Alternativno, git show COMMIT će učiniti nešto vrlo slično. (Podaci urezivanja, uključujući i diff - ali ne za objedinjavanje.) Pogledajte stranicu s uputama za git show .

1439
10 июля '13 в 9:23 2013-07-10 09:23 odgovor je dao Nevik Rehnel 10. srpnja 2013. u 9:23 2013-07-10 09:23

Kao što je navedeno u Kratici za razgraničavanje git-a od svog nadređenog?, Možete koristiti i git diff s:

 git diff COMMIT^! 

ili

 git diff-tree -p COMMIT 

Uz git show potrebno vam je (da biste se posebno usredotočili na razliku):

border=0
 git show --color --pretty=format:%b $COMMIT 

COMMIT parametar - commit-ish :

Objekt urezivanja ili objekt koji se može rekurzivno dereferencirati u objekt urezivanja. U nastavku se navode sve naredbe-ishes: objekt predavanja, objekt oznake koji ukazuje na objekt urezivanja, objekt oznake koji ukazuje na objekt oznake koji ukazuje na objekt urezivanja, itd.

Pogledajte gitrevision "POINT REVISIONS za veze s obvezom -ish."
Vidi također " Što znači stablo u Git-u? ".

408
10 июля '13 в 9:31 2013-07-10 09:31 odgovor je dao VonC 10. srpnja '13 u 9:31 sati 2013-07-10 09:31

Možete isprobati i ovaj jednostavan način:

 git show <COMMIT> 
234
15 июня '16 в 12:02 2016-06-15 12:02 odgovor je dat Lakhan 15. lipnja '16 u 12:02 2016-06-15 12:02

git show prikazuje promjene koje su napravljene u posljednjem urezivanju.

Odgovara git show HEAD .

git show HEAD~1 vas vraća 1 urez.

56
16 сент. Odgovor je dao Adam Salma 16. rujna 2016-09-16 04:50 '16 u 4:50 2016-09-16 04:50

Prvo upotrijebite ID popravka,

 git log #to list all 

ili

 git log -p -1 #last one commit id 

Kopirajte identifikator popravka.

Sada koristimo dvije metode za popis promjena iz određene predaje:

Prva metoda:

git diff commit_id^! #commit id something like this 1c6a6000asad012

Metoda 2:

 git show commit_id For example: git show 1c6a600a 
26
19 июля '17 в 8:48 2017-07-19 08:48 Odgovor daje Mohideen ibn Mohammed 19. srpnja 2006. u 8:48 2017-07-19 08:48

Sa stranice pomoći za git -diff (1) :

 git diff [options] [<commit>] [--] [<path>…] git diff [options] --cached [<commit>] [--] [<path>…] git diff [options] <commit> <commit> [--] [<path>…] git diff [options] <blob> <blob> git diff [options] [--no-index] [--] <path> <path> 

Koristite treći u sredini:

 git diff [options] <parent-commit> <commit> 

Također na istoj stranici priručnika u odjeljku Primjeri :

 $ git diff HEAD^ HEAD <3> 

Usporedite verziju prije zadnjeg urezivanja i zadnjeg urezivanja.

Doduše, ovo je pomalo zbunjujuće, bilo bi manje zbunjujuće

Usporedite najnoviju fiksaciju s fiksacijom ispred nje.

23
10 июля '13 в 10:20 2013-07-10 10:20 odgovor je dao korisnik456814 10. srpnja '13. u 10:20 2013-07-10 10:20

Čini se da sljedeće radi taj posao; Koristim ga za prikazivanje onoga što je spojeno.

 git whatchanged -m -n 1 -p <SHA-1 hash of merge commit> 
19
14 окт. Odgovor je dao MichaelMoser 14. listopada. 2014-10-14 20:16 '14 u 20:16 2014-10-14 20:16
 git show <commit_sha> 

To će vam pokazati da u ovom urezivanju. Mislim da to možete učiniti jednostavnim stavljanjem razmaka između dvaju obveza.

 git show <beginning_sha> <ending_sha> 

što je vrlo korisno ako često provjeravate, jer će vam logovi funkcija biti u redu.

16
22 авг. Odgovor je dan Iwnnay 22 aug. 2018-08-22 17:46 '18 u 17:46 sati 2018-08-22 17:46

Druga mogućnost:

git log -p COMMIT -1

11
16 февр. Odgovor dao John_West 16. veljače. 2016-02-16 17:49 '16 u 17:49 2016-02-16 17:49
 git difftool COMMIT^ <commit hash> 

moguće je i ako ste konfigurirali vaš diffftool.

Ovdje pogledajte kako postaviti diffftool ili referentnu stranicu .

Osim toga, možete koristiti git diff-tree --no-commit-id --name-only -r <commit hash> kako biste saznali koje su datoteke promijenjene / git diff-tree --no-commit-id --name-only -r <commit hash> .

8
24 марта '14 в 15:49 2014-03-24 15:49 odgovor je dao Chand Priyankara 24. ožujka 2014. u 15:49 2014-03-24 15:49

Možete koristiti git diff HEAD HEAD^1 da biste vidjeli razliku s nadređenom pohranom.

Ako želite vidjeti samo popis datoteka, dodajte --stat .

6
08 дек. Odgovori Irshu 08 Dec 2015-12-08 07:17 '15 u 7:17 2015-12-08 07:17

Da biste vidjeli autora i vrijeme, upotrijebite git show COMMIT . Što bi dovelo do ovako nešto:

 commit 13414df70354678b1b9304ebe4b6d204810f867e Merge: a2a2894 3a1ba8f Author: You <you@you.com> Date: Fri Jul 24 17:46:42 2015 -0700 Merge remote-tracking branch 'origin/your-feature' 

Ako želite vidjeti koje su datoteke promijenjene, pokrenite sljedeće s vrijednostima iz linije Spoji iznad git diff --stat a2a2894 3a1ba8f .

Ako želite vidjeti stvarni diff, pokrenite git --stat a2a2894 3a1ba8f

6
28 июля '15 в 1:20 2015-07-28 01:20 odgovor je dao Nikita G. 28. srpnja '15. u 1:20 2015-07-28 01:20

Koristim Git verziju 2.6.1.windows.1 u sustavu Windows 10, tako da sam morao malo promijeniti Nevik odgovor (tilda umjesto ograde):

 git diff COMMIT~ COMMIT 

Druga mogućnost je citirati prijevoz:

 git diff "COMMIT^" COMMIT 
4
20 янв. Odgovor daje Juuso Ohtonen 20. siječnja 2017-01-20 11:00 '17 u 11:00 2017-01-20 11:00

Sviđa mi se naredba u nastavku za usporedbu određenog urezivanja i njegove zadnje predaje:

 git diff <commit-hash>^- 

primjer:

 git diff cd1b3f485^- 
4
10 апр. odgovor dao starcwl 10. travnja 2018-04-10 13:11 '18 u 1:11 pm 2018-04-10 13:11

Ova naredba će dobiti Git matematičku naredbu:

 git log -n 2 <commit-hash> 

Nakon toga, git diff-tool <commit-hash> <parent-commit-hash>

primjer:

 bonnie@bonnie ~/ $ git log -n 2 7f65b9a9d3820525766fcba285b3c678e889fe3 commit 7f65b9a9d3820525766fcba285b3c678e889fe3b Author: souparno <souparno.majumder@gmail.com> Date: Mon Jul 25 13:17:07 2016 +0530 CSS changed to maintain the aspect ratio of the channel logos and to fit them properly. commit c3a61f17e14e2b80cf64b172a45f1b4826ee291f Author: souparno <souparno.majumder@gmail.com> Date: Mon Jul 25 11:28:09 2016 +0530 The ratio of the height to width of the channel images are maintained. 

Nakon toga

 git difftool 7f65b9a9d3820525766fcba285b3c678e889fe3b c3a61f17e14e2b80cf64b172a45f1b4826ee291f 
2
29 июля '16 в 15:19 2016-07-29 15:19 odgovor je dao souparno majumder 29. srpnja '16 u 15:19 2016-07-29 15:19

Za provjeru kompletnih izmjena:

  git diff <commit_Id_1> <commit_Id_2> 

Da biste provjerili samo izmijenjene / dodane / izbrisane datoteke:

  git diff <commit_Id_1> <commit_Id_2> --name-only 

NAPOMENA : Da biste testirali diff bez obveze između njih, ne trebate navesti identifikatore urezivanja.

0
29 янв. odgovor je dan bit_cracker007 29. siječnja 2019-01-29 22:41 '19 u 22:41 sati 2019-01-29 22:41

U slučaju provjere promjene izvora u grafičkom prikazu,

 $gitk (Mention your commit id here) 

na primjer:

 $gitk HEAD~1 
-1
11 мая '18 в 11:02 2018-05-11 11:02 odgovor je dao korisnik272390 11. svibnja u 11:02 sati 2018-05-11 11:02