2010-02-09 10 views
235

Po prostu chcę zobaczyć pliki, które zostały popełnione w ostatnim zatwierdzeniu dokładnie tak, jak zobaczyłem listę, kiedy zrobiłem git commit. Niestety poszukiwanieGit: Zobacz mój ostatni commit

git "last commit" log 

w Google przenosi mnie donikąd. I oczywiście nie jest to, czego potrzebuję, oczywiście, ponieważ wyrzuca z siebie zmiany.

+19

Dzięki, właściwie potrzebowałem 'git diff HEAD^.. HEAD'! – Ameen

+3

@ Samej świetnej, wiele razy odpowiedź, której szukasz, jest w pytaniu o SO. –

+1

@DanRosenstark szczególnie w dobrze zbadanych pytaniach. – Robino

Odpowiedz

237

Jak określono poprzez komentarze, wydaje się, że PO szuka

$ git log --name-status HEAD^..HEAD 

Jest to także bardzo blisko do wyjścia chcesz dostać od svn status lub svn log -v, którą wielu ludzi wywodzących się z działalności wywrotowej do git zna.

--name-status jest kluczem tutaj; jak zauważyli inni ludzie w tym pytaniu, można użyć git log -1, git show i git diff, aby uzyskać ten sam rodzaj danych wyjściowych. Osobiście staram się używać git show <rev> podczas przeglądania poszczególnych wersji.

+100

To może być skrócone do 'git show --name-status' –

+0

Przyznaję, że komentarze nie są dla mnie najlepszym sposobem, aby moje pytanie było wyraźniejsze :) dzięki MikeSep –

+1

Myślę, że daje to ostatnie zatwierdzenie, nie? Tak więc, dla MOJEGO ostatniego, zrobiłbym 'git log - stat --author nroose -n 1' – nroose

126

Zastosowanie git show:

git show --summary 

To pokaże nazwy utworzonych lub usuniętych plików, ale nie nazwiska zmienił plików. Komenda git show obsługuje wiele różnych formatów wyjściowych, które pokazują różne typy informacji o zatwierdzeniach.

+45

Lub 'git show --stat'. – jamessan

+0

@jamessan 'git show --stat' jest blisko, ale czy nie ma widoku, w którym obok pliku pojawia się słowo" modified "lub" added "? –

+2

Jeśli chcesz tylko nazwy plików (nawet mniej niż '--stat'), możesz również spojrzeć na przełączniki' -name-status' i '-name-only'. – MikeSep

9
$ git diff --name-only HEAD^..HEAD

lub

$ git log --name-only HEAD^..HEAD
+0

Tego właśnie potrzebuję. Co powiesz na coś, czy zostało zmodyfikowane, dodane czy usunięte? Może z listem w stylu svn? –

+1

Mam to teraz. 'git log --name-status HEAD^.. HEAD' –

+2

Zamiast' git log ... HEAD^.. HEAD', czy nie jest prostsze użycie 'git log ... -1 HEAD' lub lepiej 'git show ... HEAD'? –

18
git log -1 --name-status 

działa dla mnie.

30

Zdecydowanie najprostsze polecenie to:

git show --name-only 

Jak wymienia zaledwie pliki w ostatnim popełnić i nie daje całe wnętrzności

Przykładem istota wyjście:

commit fkh889hiuhb069e44254b4925d2b580a602 
Author: Lord Vader <[email protected]> 
Date: Sat May 4 16:50:32 2168 -0700 

Changed shield frequencies to prevent Millenium Falcon landing 

www/controllers/landing_ba_controller.php     
www/controllers/landing_b_controller.php    
www/controllers/landing_bp_controller.php    
www/controllers/landing_h_controller.php    
www/controllers/landing_w_controller.php 
www/htdocs/robots.txt       
www/htdocs/templates/shields_FAQ.html  
+5

Zastanów się '--name-status' zamiast '--name-only'. –

+5

To jest problem ... imperium używa php do siatki obrony! – ptim

+3

Najlepszy przykład, jaki widziałem na stackoverflow! "To nie są zobowiązania, których szukasz." –

5

git diff --stat HEAD

Pokazuje to ten sam diffstat co ostatnie zatwierdzenie.

19

Aby zobaczyć ostatni popełnić

git log -1 

Aby zobaczyć ostatni 2 popełnić

git log -2 

itp ....

+0

nie wyświetla plików – Sajeetharan

+0

Pokazuje tylko komentarze –

1

Po wykonaniu kilku commitów lub sklonowaniu/przeniesieniu repozytorium, możesz chcieć zobaczyć, jakie zatwierdzenia zostały wykonane, po prostu sprawdź te proste rozwiązania, aby zobaczyć historię commitów (od ostatniego/ostatniego zatwierdzenia do pierwszego).

Przez ostatni commit tylko ognia tego polecenia git log -1, dla bardziej ciekawych rzeczy zobaczyć poniżej -

  1. Aby zobaczyć identyfikator commit (SHA-1 sum kontrolnych), autor nazwisko, data wraz z upływem czasu i zobowiązać wiadomość -

    git log 
    
  2. Aby zobaczyć więcej statystyk, takich jak nazwy wszystkich plików zmienił się w ciągu tego popełnił, liczba insercji/delecji. To jest bardzo przydatna podczas przeglądu kodu -

    git log --stat 
    
  3. Aby zobaczyć popełnić historie w niektórych formatach ładnych :) (To jest po niektórych opcji prebuild) -

    • Jeśli masz zbyt wiele zobowiązuje się do przeglądu, to polecenie pokaże je w estetycznym jednej linii

      git log --pretty=oneline 
      
    • aby zobaczyć krótki, średni, pełne lub nawet więcej szczegółów swojej popełnić następującym zakresie wykorzystania ively -

      git log --pretty=short 
      git log --pretty=medium 
      git log --pretty=full 
      git log --pretty=fuller 
      
  4. Można nawet użyć własnego formatu wyjściowego przy użyciu format opcję -

    git log --pretty=format:"%an, %ae - %s" 
    

    gdzie% an - nazwisko autora,% ae - autor e-mail,% s - przedmiot Zatwierdź, itp.

To może ci pomóc w historii zmian, aby uzyskać więcej informacji, kliknij here.