Skip to content

Git (podstawy)

Git– rozproszony system kontroli wersji opracowany przez Linusa Torvaldsa w 2005 roku. Upraszając zajmuje się śledzeniem zmian stanu plików w określonych lokalizacjach pamięci komputera, zwanych repozytoriami, a następnie umożliwia wysyłanie/pobieranie zmian do/z centralnego repozytorium, które najczęściej umieszczone jest na zewnętrznym serwerze. Umożliwia skoordynowaną pracę nad projektem wielu osobom jednocześnie.

W celu ustawienia użytkownika w konsoli piszemy:

git config --global user.name "Username"
git config --global user.email email@address.com

W celu zainicjowania repozytorium w wybranej przez nas lokalizacji (np. folder z projektem):

git init

W celu sklonowania repozytorium z innej lokalizacji lub z zewnętrznego serwera:

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

W celu połączenia lokalnego repozytorium z centralnym:

git remote add origin <server>

Potężnym narzędziem oferowanym przez gita, są tzw. branche czyli rozgałęzienia. W celu zrozumienia tego zagadnienia, polecam zajrzeć tutaj.

W celu stworzenia nowego brancha:

git checkout -b <branchname>

Przełączanie pomiędzy poszczególnymi gałęziami:

git checkout <branchname>

Wyświetlenie listy branch’ów:

git branch

Usunięcie brancha:

git branch -d <branchname>

Dodawanie plików do lokalnego repozytorium:

git add <filename>
git add .

W celu skontrolowania zmian dokonanych w lokalnym repozytorium i sprawdzenia, które pliki wciąż czekają na commit:

git status

Commit, czyli upraszczając zapisanie zmian w lokalnym repozytorium:

git commit -m "Commit message"
git commit -a

Push, czyli wysłanie zmian do repozytorium centralnego lub innego brancha można wykonać w jeden z następujących sposobów (wersja –all wysyła wszystkie branche):

git push origin master
git push --all origin
git push origin :<branchname>

W celu pobrania zdalnego repozytorium i scalenia go z lokalnym:

git pull

W celu połączenia innego brancha z aktywnym:

git merge <branchname>

W celu sprawdzenia ewentualnych konfliktów plikiem bazowym (lub gałęzią bazową):

git diff
git diff --base <filename>
git diff <sourcebranch> <targetbranch>

W celu wersjonowania zmian w pliku dla konkretnego commitu:

git tag 1.0.0 <commitID>

Tagi można wykorzystać także do wysyłania (operacja push):

git push --tags origin

W przypadku popełnienia błędu, możemy podmienić dokonane zmiany poprzez pobranie ostatniej wersji z repozytorium:

git checkout -- <filename>

Jeżeli chcemy całkowicie zarzucić dokonane zmiany i pobrać „czystą” kopię z master brancha:

git fetch origin
git reset --hard origin/master

Opisane powyżej komendy są tymi najbardziej podstawowymi, aczkolwiek pozwalają rozpocząć swoją pracę z systemem Git. W celu lepszego poznania tego wspaniałego narzędzia polecam zajrzeć do:

  1. https://git-scm.com/docs
  2. https://git-scm.com/book/en/v2
Facebooktwitterredditlinkedinmail
Published inNarzędziaProgramowanie