Podstawowe komendy w praktyce – krótko i na temat.
Wersjonowanie w Gicie
Git jest dojrzałym, aktywnie zarządzanym projektem open source, pierwotnie opracowanym w 2005 roku przez nikogo innego jak Linusa Torvaldsa, słynnego twórcę jądra systemu operacyjnego Linux. Niepoliczalna wprost liczba projektów opiera się właśnie na kontroli wersji dostarczanej przez Git, w tym zarówno projekty open-source jak i komercyjne. Jak to ujął sam Linus:
Jestem egoistycznym draniem i nazywam wszystkie swoje projekty swoim imieniem. Najpierw Linux, teraz git.
Ok, do rzeczy.
Utworzenie repozytorium
Inicjujemy lokalne repozytorium z wykorzystaniem GitHuba za pomocą poleceń:
git init
git remote add origin https://github.com/nazwa_usera/nazwa_projektu.git
git config --global user.email "<nasz_email_do_github>"
git config --global user.name "<imię i nazwisko>"
Z git init nie musimy korzystać gdy w naszej firmie repozytorium (np. w GitLab a nie GitHub) zostało wcześniej utworzone przez scrum mastera. Wtedy wystarczy tylko skopiować repozytorium: git clone <repo> <directory>
.
Zapisywanie zmian
Używaj polecenia git stash
do tymczasowego „odłożenia na półkę” zmian, które wprowadziłeś w kopii roboczej, aby móc pracować nad czymś innym. Następnie wróć i ponownie zastosuj je później za pomocą polecenia git stash pop
.
Cofanie zmian
Używaj polecenia git revert
, gdy chcesz cofnąć określone zmiany w projekcie, nad którym pracujesz. Następnie git revert
automatycznie doda nowe commity, które nie zawierają cofniętego zatwierdzenia: git revert HEAD [master a9ea131] Revert "prepend content to demo file" 1 file changed, 1 deletion(-)
Przepisywanie historii czyli „ribejzujemy”
Użyj polecenia git rebase
, gdy chcesz zachować czystość historii zatwierdzania swojej gałęzi, gdy pojawia się nowa aktualizacja z gałęzi przejściowej:
git rebase <base>
. Mówiąc wprost: jest to komenda, którą wykonujemy na konkretnym branchu za każdym razem, kiedy oddajemy ten branch do code review. Rebase do main oznacza pobranie wszystkich zmian, które pojawiły w międzyczasie i ustawienie naszych nowych commitów na samej górze tego stosu. Synchronizacja
Użyj polecenia git remote
, aby połączyć swoje lokalne repozytorium z repozytorium online w Gitlab czy w GitHub: git remote add <nazwa> <url>
.
Po połączeniu się z repozytorium online możesz wykonać polecenie git push
, aby zaktualizować wszelkie nowe pliki i zatwierdzenia, nad którymi pracujesz, z lokalnego repozytorium do repozytorium online, aby Twoi koledzy z zespołu mogli zobaczyć i wykorzystać Twoją pracę wykonaną w międzyczasie: git push <remote> <branch>
. Możesz również wykonać polecenie git pull
, aby pobrać najnowsze aktualizacje z repozytorium online: git pull <remote>
.
Sprawdź oferty pracy na TeamQuest
Korzystanie z gałęzi
Utworzysz gałąź za pomocą polecenia git branch <branch>
. Możesz również użyć polecenia git checkout
, aby utworzyć nową gałąź, np. git checkout -b <nazwa-brancha>
. Jednak zwykle polecenie git checkout
służy nam aby przełączać się z jednej gałęzi do drugiej: git checkout <branch>
.
Po zakończeniu implementacji funkcji w określonej gałęzi należy ją scalić z inną gałęzią za pomocą polecenia git merge
, na przykład:
git checkout staging
git merge my_branch