Aby wyświetlić spis branchy
git branch --list
Aby dodać branch
git branch <nazwa>
Aby przejść do brancha
git checkout <nazwa>
Aby stworzyć branch i od razu do niego przejść
git checkout -b <nazwa>
Aby usunąć lokalny branch
git branch -d <nazwa-lokalnego-brancha>
Aby usunąć zdalną gałąź
git push origin --delete <nazwa-zdalnego-brancha>
Potem warto odświeżyć śledzenie zmian w gałęziach, również na innych maszynach
git fetch --all --prune
Aby dołączyć cały feature branch jako pojedynczy commit
git checkout feature
git merge master
git checkout master
git merge --squash feature
git commit -m "single feature comment"
Aby pokazać różnice pomiędzy dwoma gałęziami
git diff branch1..branch2
Aby zmienić nazwę lokalnego brancha
git branch -m <nowa-nazwa>
Gdy przypadkowo zrobię merge do bieżącego brancha, to z refloga biorę SHA commitu sprzed merge:
git reflog
git reset --hard commit-sha
Ewentualnie SHA mogę wziąć z GitLab – ostatni commit przed omyłkowym merge.
Aby przywrócić usuniętą gałąź
git checkout -b <nazwa-usunietego-brancha> <commit-sha>
Potrzebny jest sha ostatniego commitu do tego brancha. Jest on pokazywany w trakcie usuwania brancha albo można go uzyskać przez
git reflog --no-abbrev