Bartosz Siejka
PHP-developer/Web-developer
Starszy technik utrzymania ruchu
Git cz. 3 - podstawy cd.
Cześć.
Przy okazji ostatniego wpisu dowiedziałeś się co nieco na temat tego jak zacząć pracę w gicie, jak sprawdzać zmiany które poczyniłeś od poprzedniego commita oraz jak wysłać wszystko na zewnętrzne repozytorium. Dziś ciąg dalszy przygody z gitem. W krótkich słowach - podstaw gita część druga.
Ok, załóżmy że korzystasz już z jakiegoś istniejącego repozytorium, np. Twój kod został pozmieniany przez kogoś innego. Pobierasz najnowsze zmiany i chciałbyś się conieco dowiedzieć o dokonanych zmianach. Jak to zrobić najprościej?
git log
Powyższe polecenie zwróci podstawowe informacje o tym co działo się z kodem przez całe jego "życie". Zwrócony zostanie numer commita, autor, data oraz opis zmian (ten który jest podany przy commitowaniu zmian) w kolejności od najnowszej zmiany.
Dodając do polecenia opcję -p
wykazane zostaną dodatkowo zmiany które zostały wprowadzone, podobnie jak polecenie diff
w przypadku lokalnych zmian. Dodatkowo istnieje możliwość ograniczenia ilości wyświetlanych zmian przez użycie w kolejnej opcji liczby. I tak np.
git log -p -1
zwróci ostatnią zmianę w każdym commicie.
Aby zobaczyć statystyki zmian, tzn. ile linijek dodano/usunięto, ile plików zmieniono itd. należy użyć polecenia
git log --stat
Istnieje jeszcze kilka wariacji związanych z funkcją log
jednak nie są one wykorzystywane zbyt często. Jeśli chcesz się o nich dowiedzieć zajrzyj do dokumentacji.
Teraz coś dla zapominalskich! Pewnie nie raz zdażyło Ci się zrobić commit i zapomnieć o jakieś drobnostce. Uwaga, nie rób wtedy oddzielnego commita. Dołącz te zmiany do poprzedniego.
git commit --amend
To załatwi sprawę. Ale pamiętaj, jeżeli już wcześniej wysłałeś ten commit do repozytorium, przy ponownym wysyłaniu użyj opcji --force
, aby nadpisać wcześniej zapisany commit.
Druga sprawa to pliki, których w ogóle nie chcesz wysyłać do repozytorium, ale pokazały się na liście gotowych do dodania, ponieważ zawierają jakieś zmiany. Jak je z niej usunąć? Najprościej to użyć podpowiedzi z gita.
git checkout --nazwa_pliku
Pamiętaj jednak, że użycie tego polecenia wiąże się z bezpowrotną utratą wprowadzonych zmian.