Instalacja Gita
GitHub dostarcza klienta dla komputerów który zawiera interfejs graficzny dla najbardziej powszechnych akcji w repozytorium i automatycznie aktualizuje edycje Gita w lini komend dla zaawansowanych scenariuszy.
GitHub Desktop
Dystrybucje Gita dla systemu Linux i POSIX dostępne są na oficjalnej stronie Git SCM.
Git dla wszystkich platform
Konfiguracja narzędzi
Skonfiguruj informacje o użytkowniku dla wszystkich lokalnych repozytoriów
$ git config --global user.name "[nazwa]"
Ustawia nazwę którą chcesz dołączyć do wysyłanych commitów
$ git config --global user.email "[adres email]"
Ustawia email który chcesz dołączyć do wysyłanych commitów
Tworzenie repozytorium
Tworzy nowe repozytorium lub uzyskuje je z istniejącego adresu URL
$ git init [nazwa-projektu]
Tworzy nowe lokalne repozytorium ze sprecyzowaną nazwą
$ git clone [url]
Pobiera projekt i całą jego historię wersji
Wprowadzanie zmian
Sprawdź zmiany i utwórz commit
$ git status
Wyświetla wszystkie nowe lub zmodyfikowane pliki do zatwierdzenia
$ git diff
Pokazuje różnice w plikach które nie zostały jeszcze zatwierdzone
$ git add [plik]
Zatwierdza pliki w celu przygotowania wersji
$ git diff --staged
Pokazuje różnicę pomiędzy plikami zatwierdzonymi a ich ostatnią wersją
$ git reset [plik]
Wycofuje plik lecz nie zmieniaj jego zawartości
$ git commit -m"[descriptive message]"
Permanentnie zapisuje zatwierdzone pliki w historii wersji
Zmiany grupowe
Nazwij serie commitów i podsumuj ukończone zadania
$ git branch
Wyświetla listę wszystkich lokalnych gałęzi w aktualnym repozytorium
$ git branch [nazwa-gałęzi]
Tworzy nową gałąź
$ git switch -c [nazwa-gałęzi]
Przechodzi do określonej gałęzi i aktualizuje katalog roboczy
$ git merge [nazwa-gałęzi]
Łączy historię określonej gałęzi z aktualną
$ git branch -d [nazwa-gałęzi]
Usuwa określoną gałąź
Zmiany w nazwach plików
Przenieś i usuń pliki w repozytorium
$ git rm [plik]
Usuwa plik z katalogu roboczego i zatwierdza usunięcie
$ git rm --cached [plik]
Usuwa plik z kontroli wersji lecz zachowuje go lokalnie
$ git mv [oryginalny-plik] [plik-ze-zmienioną-nazwą]
Zmienia nazwę pliku i przygotowuje go do commitu
Pomiń śledzenie
Wyklucz pliki tymczasowe i ścieżki
*.log
build/
temp-*
Plik tekstowy nazwany .gitignore
wyklucza przypadkowe dodanie do repozytorium plików i ścieżek pasujących do określonych wzorów
$ git ls-files --others --ignored --exclude-standard
Wyświetla wszystkie ignorowane pliki w tym projekcie
Zapisuj fragmenty
Zapisuj i przywracaj niedokończone zmiany
$ git stash
Czasowo zachowuje wszystkie zmodyfikowane śledzone pliki
$ git stash pop
Przywraca najnowsze zachowane pliki
$ git stash list
Wyświetla listę wszystkich zachowanych zestawów zmian
$ git stash drop
Odrzuca najnowsze zachowane zmiany
Przejrzyj historię
Przejrzyj i sprawdź ewolucje plików projektu
$ git log
Wyświetla listę wersji dla aktualnej gałęzi
$ git log --follow [plik]
Wyświetla historie wersji pliku w tym zmiany nazw
$ git diff [pierwsza-gałąź]...[druga-gałąź]
Pokazuje różnicę pomiędzy dwoma gałęziami
$ git show [commit]
Wyświetla metadane i zmiany zawartości danego commitu
Przywróć commity
Wymaż błędy i historię zmian
$ git reset [commit]
Cofa wszystkie commity po [commit]
, zachowując zmiany lokalne
$ git reset --hard [commit]
Odrzuca całą historię i zmiany wracając do danego commitu
Synchronizuj dane
Zarejestruj zdalne repozytorium (URL) i wymień się z nim historią
$ git fetch [remote]
Pobiera całą historię ze zdalnego repozytorium
$ git merge [remote]/[gałąź]
Łączy gałąź zdalną z lokalną
$ git push [remote] [gałąź]
Przesyła lokalną gałąź do GitHuba
$ git pull
Pobiera historię i wprowadza zmiany