GIT podstawowe komendy

Ogólne

 964 

GIT podstawowe komendy to kolejny z tematów z zakresu wiedzy ogólnej. Chcąc korzystać korzystać z systemów kontroli wersji koniecznie musisz znać kilka poleceń by swobodnie działać ze swoim repozytorium. Dzięki tym informacjom będziesz mógł dość swobodnie poruszać się ze swoim repo.

Co to jest GIT

GIT to jest rozproszony system wersjonowania (distributed repository lub distributed version control system). W ramach takiego systemu możesz zapisywać nowe zmiany a synchronizacja z resztą zespołu następuje w wybranym przez Was momencie. Pisząc o gicie – skupimy się na wersji z linii poleceń. Istnieją również graficzne wersje, które mogą być pomocne przy bardziej rozbudowanych czy skomplikowanych sytuacjach. Przykładem może być Source Tree. W ramach tego wpisu poruszamy tylko komendy, konfiguracja i instalacja narzędzia znajduje się w dokumentacji. Konieczne jest też narzędzie do obsługi zdalnego repozytorium – np. gerrit, gitlab, github czy bitbucket.

Polecenia

Poniżej w każdym akapicie poruszymy różne polecenia, z których będziesz mógł skorzystać w ramach swojej pracy, czy ćwiczeń z systemem kontroli wersji.

Utworzenie repozytorium

Znajdując się w katalogu w którym chcesz stworzyć lokalne repozytorium, uruchom gita i wpisz polecenie:

git init

To polecenie inicjuje lokalne repozytorium. Spowoduje, że git zacznie interesować się zmianami we wszystkich plikach wskazanego katalogu.

Status zmian

Gdy masz już stworzone lokalnie repozytorium, możesz sprawdzić status swoich zmian poprzez

git status

Dzięki temu poleceniu będziesz mógł porównać zmiany pomiędzy tym co się zmieniło.

Zapisanie zmian

Jeżeli przerabiałeś nasze podstawy Javy będziesz mógł dodać plik hello_world.java. Jeżeli nie to możesz dodać tam dowolny plik.

git add hello_world.java

Teraz możemy sprawdzić status zmian.

git status

# On branch master
#
# No commits yet
#
# Changes to be commited:
# (use "git rm --cached <file>..." to unstage)
#
# new file: hello_world.java
#

Teraz po dodaniu pliku do listy, trzeba zrobić commit.

git commit -m "Tutaj nazwa Twojego commita co zostalo zrobione"

Po takim działaniu z Twojej strony git status pokazuje:

git status

# On branch master
# nothing to commit (working directory clean)

Po zapisaniu wszystkich zmian w lokalnym repozytorium, musimy je wysłać by wszyscy mogli się z nimi zapoznać.

git remote add origin link_to_your_remote_repository

Ta komenda sprawi, że Twój lokalny git będzie wiedział gdzie znajduje się zdalne repozytorium.

git push origin master

Polecenie to spowoduje, że wszystkie zapisane zmiany znajdujące się na lokalnej gałęzi master zostaną przesłane na gałąź master na zdalnym repozytorium o nazwie origin.

Pobranie zmian

Pracując w ramach współpracy z innymi osobami, ważne jest by zaczynając pracę sprawdzać czy zostały stworzone zmiany poprzez komendę

git status

Gdy są jakieś zmiany, możesz dokonać pobrania zmian poprzez

git pull origin master
Pobranie repozytorium

Jeżeli jest już utworzone repozytorium to możesz utwórzyć kopię roboczą lokalnego repozytorium poprzez polecenie

git clone /path/to/repository

jeśli korzystasz ze zdalnego serwera, użyjesz polecenia

git clone username@host:/path/to/repository

Poćwiczyć działanie możesz np. z GitHubem, gdy chcesz pobrać jakieś repozytorium, by zapoznać się z projektem.

GIT podstawowe polecenia - github

Przeglądanie historii zmian

Pracując z innymi osobami, czy też chcąc sprawdzić jakie zmiany zostały dokonane. Z linii poleceń możesz przeglądać historię repozytorium w najprostszej formie używając..

 git log

Możesz dodawać dużo parametrów aby uzyskać to czego potrzebujesz. aby zobaczyć commity konkretnego autora:

git log --author=NazwaAutora

Możesz zobaczyć tylko te pliki które zostały zmienione:

git log --name-status

Więcej informacji znajdziesz poprzesz użycie komendy

git log --help

Podsumowanie.

GIT podstawowe polecenia to kolejny wpisów o wiedzy ogólnej. Dzięki tym kilku komendom będziecie w stanie pracować razem ze swoim repozytorium. Oczywiście w praktyce jak zawsze będziemy mierzyć się z innymi wyzwaniami, nieobjętymi w tym wpisie. O innych zagadnieniach ogólnych piszemy w niniejszym dziale.