Po co Ci system kontroli wersji? Wyobraż sobie że tworzysz jakiś dokument z kilkoma osobami i nie chcesz używać dokumentów google. Wiem trudne do wyobrażenia, natomiast my “paranoicy” spotykamy się z takim czymś na codzień. Przy takim scenariuszu problemem może być trzymanie wszystkich poprawek zrobionych przez wszystkich.
Po co Ci system kontroli wersji? Wyobraż sobie że tworzysz jakiś dokument z kilkoma osobami i nie chcesz używać dokumentów google. Wiem trudne do wyobrażenia, natomiast my “paranoicy” spotykamy się z takim czymś na codzień. Przy takim scenariuszu problemem może być trzymanie wszystkich poprawek zrobionych przez wszystkich. Wielokrotnie zdarzało mi się że z kilkoma osobami pracowałem nad dokumentem, i koniec końców wysyłaliśmy sobie pliki o nazwie Dokument+JK+EK+PZ+LB+JK2+PZ2+MB.odt. Albo jeszcze lepiej, zanim poznałem gita nawet pliki nad którymi pracowałem sam nazywały się @@@!!!!finalest_final-dokument.odt (@=!!!!! A ilością wykrzykników oznaczałem numer wersji dokumentu). Wygląda to zabawnie ale absolutnie nie jest użyteczne.
Git pozwala zachować wszystkie wersje po drodze i wrócić do dowolnej, przy okazji nie generując fefnastu plików. Niestety git jest narzędziem terminalowym czyli używamy go w wierszu polecenia. Jest wiele interfejsów graficznych do gita, niektóre nawet bardzo ciężko płatne :) (SaaS).
W tym artykule który zgodnie z tytułem jest wstępem, w związku z czym opisze tylko podstawowe pojęcia dotyczące gita i używania go.
Repozytorium(zbiór plików/danych) gita inicjujemy poprzez komendę
git init
i powstaje puste repozytorium. Wszelkie zmiany które poczyniliśmy dodajemy do tzw “staging area” poprzez polecenie
git add [nazwa pliku]
a następnie commitujemy (wiążące dodanie do historii) poleceniem `git commit` następnie otworzy nam się edytor w którym w pierwszej linii wpisujemy tzw. commit message w którym powinno się opisać nasze zmiany. Możemy też pominąć edytor poprzez dodanie opcji "-m":
git commit -m [commit message]
.
Każdy commit w gicie ma swój identyfikator, tak zwany HEAD można za jego pomocą odwoływać się do konkretnych punktów w czasie. Za pomocą komendy
git log
można wyświetlić historię commitów (w tym HEAD) I można przywrócić obecne repozytorium do konkretnego commita(automatycznie robiąc zmiany powodujące powrót od tego commita). Można to zrobić z apomocą polecenia
git revert HEAD