Ściągawka Git

Podstawowe polecenia Git do kontroli wersji – gałęzie, zatwierdzanie, scalanie i współpraca.

Konfiguracja i ustawienia

Skonfiguruj Git i ustaw swoją tożsamość

# Ustaw swoje imię i email
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# Sprawdź swoją konfigurację
git config --list

# Ustaw domyślną nazwę gałęzi
git config --global init.defaultBranch main
Początkowa konfiguracja
# Ustaw domyślny edytor
git config --global core.editor "code --wait"

# Włącz kolorowe wyjście
git config --global color.ui auto

# Skonfiguruj pomocnika poświadczeń (Windows)
git config --global credential.helper wincred
Dodatkowa konfiguracja

Tworzenie repozytoriów

Inicjalizuj lub sklonuj repozytoria Git

# Zainicjuj nowe repozytorium
git init

# Zainicjuj z określoną nazwą gałęzi
git init -b main

# Sklonuj istniejące repozytorium
git clone https://github.com/user/repo.git

# Sklonuj do określonego katalogu
git clone https://github.com/user/repo.git my-folder
Inicjalizacja repozytorium

Podstawowy przepływ pracy

Typowe polecenia do codziennego użycia Git

# Sprawdź status repozytorium
git status

# Dodaj pliki do obszaru staging
git add file.txt
git add .                 # Dodaj wszystkie pliki
git add *.js              # Dodaj wszystkie pliki JavaScript

# Zatwierdź zmiany
git commit -m "Commit message"
git commit -am "Message"  # Dodaj i zatwierdź śledzone pliki

# Wyświetl historię commitów
git log
git log --oneline         # Widok zwarty
git log --graph           # Pokaż wykres gałęzi
Codzienne polecenia

Rozgałęzianie i scalanie

Tworzenie i zarządzanie gałęziami

# Wyświetl listę gałęzi
git branch                # Lokalne gałęzie
git branch -a             # Wszystkie gałęzie (lokalne + zdalne)

# Utwórz nową gałąź
git branch feature-branch

# Przełącz się na gałąź
git checkout feature-branch
git switch feature-branch  # Nowoczesna alternatywa

# Utwórz i przełącz się na nową gałąź
git checkout -b feature-branch
git switch -c feature-branch
Zarządzanie gałęziami
# Scal gałąź z bieżącą gałęzią
git merge feature-branch

# Usuń gałąź
git branch -d feature-branch    # Bezpieczne usunięcie
git branch -D feature-branch    # Wymuszone usunięcie

# Zmień nazwę gałęzi
git branch -m old-name new-name
Scalanie i czyszczenie

Zdalne repozytoria

Praca ze zdalnymi repozytoriami

# Wyświetl listę zdalnych repozytoriów
git remote -v

# Dodaj zdalne repozytorium
git remote add origin https://github.com/user/repo.git

# Pobierz zmiany ze zdalnego repozytorium
git fetch origin

# Pobierz zmiany ze zdalnego repozytorium
git pull origin main

# Wypchnij zmiany do zdalnego repozytorium
git push origin main
git push -u origin main   # Ustaw upstream i wypchnij
Operacje zdalne
# Usuń zdalne repozytorium
git remote remove origin

# Zmień nazwę zdalnego repozytorium
git remote rename old-name new-name

# Zmień URL zdalnego repozytorium
git remote set-url origin https://github.com/user/new-repo.git
Zarządzanie zdalne

Cofanie zmian

Cofanie lub resetowanie zmian

# Odrzuć zmiany w katalogu roboczym
git restore file.txt
git checkout -- file.txt  # Stara metoda

# Cofnij pliki z obszaru staging
git restore --staged file.txt
git reset HEAD file.txt   # Stara metoda

# Popraw ostatni commit
git commit --amend -m "New message"

# Cofnij commit (tworzy nowy commit)
git revert <commit-hash>
Operacje cofania
# Reset do poprzedniego commita (uwaga!)
git reset --soft HEAD~1   # Zachowaj zmiany w stagingu
git reset --mixed HEAD~1  # Zachowaj zmiany niezatwierdzone
git reset --hard HEAD~1   # Odrzuć wszystkie zmiany

# Reset do konkretnego commita
git reset --hard <commit-hash>
Operacje resetowania

Przechowywanie zmian

Tymczasowe zapisywanie zmian

# Schowaj bieżące zmiany
git stash
git stash save "Work in progress"

# Wyświetl listę schowków
git stash list

# Zastosuj schowek
git stash apply           # Zachowaj schowek
git stash pop             # Zastosuj i usuń schowek

# Zastosuj konkretny schowek
git stash apply stash@{0}

# Usuń schowek
git stash drop stash@{0}
git stash clear           # Usuń wszystkie schowki
Zarządzanie schowkiem

Przeglądanie zmian

Inspekcja różnic i historii

# Pokaż niezatwierdzone zmiany
git diff

# Pokaż zmiany w stagingu
git diff --staged
git diff --cached

# Pokaż zmiany między commitami
git diff commit1 commit2

# Pokaż zmiany w konkretnym pliku
git diff file.txt
Polecenia diff
# Pokaż szczegóły commita
git show <commit-hash>

# Pokaż plik w konkretnym commicie
git show <commit-hash>:file.txt

# Pokaż, kto zmienił co w pliku
git blame file.txt
Polecenia inspekcji

Tagowanie

Tworzenie i zarządzanie tagami wersji

# Wyświetl listę tagów
git tag

# Utwórz lekki tag
git tag v1.0.0

# Utwórz tag anotowany
git tag -a v1.0.0 -m "Version 1.0.0"

# Otaguj konkretny commit
git tag -a v1.0.0 <commit-hash> -m "Message"

# Wypchnij tagi do zdalnego repozytorium
git push origin v1.0.0
git push origin --tags    # Wypchnij wszystkie tagi

# Usuń tag
git tag -d v1.0.0
git push origin --delete v1.0.0   # Usuń tag ze zdalnego repozytorium
Operacje tagów

Przydatne polecenia

Dodatkowe przydatne polecenia Git

# Wyczyść nieśledzone pliki
git clean -n              # Próbny uruchomienie
git clean -f              # Usuń pliki
git clean -fd             # Usuń pliki i katalogi

# Szukaj w repozytorium
git grep "search term"

# Pokaż, kto wprowadził zmiany w pliku
git log --follow file.txt

# Utwórz alias
git config --global alias.st status
git config --global alias.co checkout
Użyteczne narzędzia
# Ignoruj zmiany pliku
git update-index --assume-unchanged file.txt

# Śledź zmiany pliku ponownie
git update-index --no-assume-unchanged file.txt

# Pokaż śledzone pliki
git ls-files
Śledzenie plików
Ściągawka Git