====== Praca z Git ======
===== Konfiguracja wstępna =====
Ustawianie swoich danych:
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
Ustawiamy wygląd komunikatów push:
git config --global push.default simple
Poprawianie konfiguracji kolorów na FreeBSD:
git config --global color.ui true
git config --global core.pager "less -FRSX"
===== Zakładanie nowego repozytorium =====
mkdir project.git
cd project.git
git init
===== Dodawanie/Usuwanie plików =====
git add dir/plik.txt
git rm dir/plik.txt
git add dir/subdir
git rm -r dir/subdir
===== Sprawdzanie historii zmian =====
git status
git diff
git log
git log -c
===== Commitowanie ======
git commit plik.txt -- commit pojedynczego pliku
git commit -a -- commit wszystkich zmienionych plików
git commit -a -m "Commit message" -- commit j.w. + komentarz w cli bez wywoływania edytora
===== Wysyłanie danych na serwer =====
git push
Jeśli chcemy wysłąć całe repo do nowej lokalizacji (wcześniej trzeba utworzyć puste) to:
git push ssh://git@git.serwer.com/nowe_repo
===== Aktualizacja repozytorium z serwera =====
git pull
===== Skok do określonej wersji commit-a =====
git checkout commit_id
Powrót:
git checkout master
===== Branche =====
git branch -a -- listowanie wszystkich branchów
git checkout -b test origin/test -- pobranie zdalnego brancha 'test' do repozytorium lokalnego
^^^^^^^^ coś mi to nie działało ^^^^^^^^^^^^^^^^^^^^^^^^^^
git branch test origin/test -- utworzenie brancha 'test' i powiązanie go ze zdalnym branchem
git checkout test -- przełączenie na brancha test
===== Anulowanie zmian przed commitem =====
git reset --hard -- anulowanie zmian we wszystkich zmienionych plikach
git clean -fd -- usunięcie wszystkich nieśledzonych plikow i katalogów
(-f to 'force', -d od 'directories')