Git
Git Pro V2 - źródło główne 'suchej wiedzy' (poza tym są świetne manuale i help wbudowany w gita)
- Wprowadzenie
- czym jest git:
Rozproszony system kontroli wersji - do czego służy:
Wersjonowanie plików opartych na tekście. - do czego nie służy (albo z czym sobie słabo radzi):
Nie wersjonować plików binarnych (zdjęć, pdf-ów, spriteów, pliów wykonywalnych).
Rozwiązanie - GIT LFS.
- Instalacja - Konfiguracja - Stworzenie repozytorium
- git init - tworzy nowe repozytorium gita
- Co powinno się znaleźć w większości repozytoriów gita:
- licencja - BARDZO WAŻNE JEŻELI REPOZYTORIUM MA BYĆ OPUBLIKOWANE
- README
- gitignore - nie jest niezbędne, ale ułatwia życie z gitem
- Status - Add - Restore (–staged) - Commit - gitignore
- git status
- Stany w jakich może być pliki w gicie:
- untracked
- commited (unmodified)
- modified
- git add - dodanie pliku do repozytorium/przestrzeni staged
- git restore - przywrócenie pliku do wersji bez zmian
- git commit - zatwierdzenie zmian w dodanych (staged) plikach
- Strategie commitowania
- jeden plik jeden commit
- jeden feature jeden commit
- Log - Tag - Diff
- git log:
- -graph –all
- git diff - różnice pomiędzy plikami w poszczególnych commitach
- git tag - możliwość opcjonalnego otagowania commitów ułatwiających późniejsze przeszukiwanie historii zmian
- Remote - Push - Clone - Pull
- git remote - zarządzanie zdalnymi kopiami repozytorium
- git clone - klonowanie zdalnego repozytorium
- git push - wysyłanie zmian do repozytorium
- git pull - ściąganie zmian z zdalnego repozytorium
- Branch - Checkout - Merge - Rebase
- git branch - zarządzanie /odnogami/ w repozytorium
- git checkout - zmiana aktualnego brancha
- git merge - połączenie dwóch branchy
- git rebase - ściągnięcie zmian (commitów) z jednego brancha do drugiego
- Konflikty
- konflikty są nieuniknione!
- powstają przy edycji tago samego pliku w równoważnych (równoległych w drzewie) commitach
- Checkout - Reset
- git comit –amend - nadpisanie/edycja ostatniego commita
- git reset - opcja nuklearna
- git checkout - możliwość przejścia do X-owego commitu z historii zmian
- Stash
- git stash - schowek