Podsumuj zmiany (wstawiania i usuwania) w Git [zamknięte]


47

Chcę spojrzeć, jak moja baza kodu urosła w czasie. GitHub ma ładny +/-wyświetlacz wzdłuż listy checkin, co daje poczucie tego. Czy jest coś podobnego, czego mogę używać z moim repozytorium Google Code lub offline?


1
Głosuję za zamknięciem tego pytania jako nie na temat, ponieważ użycie narzędzi specyficznych dla rozwoju oprogramowania. Te pytania należą do funkcji Przepełnienie stosu, ale to pytanie jest zbyt stare, aby przeprowadzić migrację.
Thomas Owens

Odpowiedzi:


71

W Git dostępnych jest kilka opcji uzyskania danych o zmianach.

git log --stat pokaże kwotę, którą zmienił każdy plik.

git whatchanged podaje trochę szczegółów w zmodyfikowanych plikach.

git diff --stat <sha1> <sha2> podaje pliki i ilość zmian między dwoma zatwierdzeniami.

Istnieje wiele innych blogów, które dają różne sformatowane logi. Wyszukiwarka google może cię na nie skierować. Zapewni to także git log --helpróżne opcje formatowania historii Twojego repozytorium. Git ma możliwość dostarczania całkiem sporo danych poprzez różne logopcje wiersza poleceń (filtrowanie według autora, pliku itp.).


6
Piękny! Dzięki. Teraz widzę też --numstatmniej słodki, ale czysty format alternatywny.
Potatoswatter

18
--shortstatpo prostu wydrukuje sumy.
casey

1
należy pamiętać, że git diff --stat <sha1> <sha2>nie obejmuje wstawienia i delecje <sha1>, więc trzeba by umieścić shaod popełnienia tuż przed <sha1>do zawiera<sha1>
Vaibhav Vishal

18

Jeśli znasz zobowiązuje które chcesz porównać, można spróbować użyć na git diffpolecenie z --statargumentem. Daje to taki wynik:

$ git diff --stat HEAD^ HEAD
_layouts/default.html |    1 -
_sass/_variables.scss |    2 +-
_sass/main.scss       |   42 +++++++++++++++---------------------------
3 files changed, 16 insertions(+), 29 deletions(-)

2
Zawsze lubię przykład, który działa w większości przypadków (HEAD - 1) zamiast abstrakcji. Dzięki Mike!
SimplGy,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.