Ако сте виртуозен git-аджия с умения на овчар, като мен, и решите да commit-нете в грешния бранч можете лесно да оправите кашата просто като направите (в бранча, където сте commit-нали по погрешка):

git reset HEAD~1

където ~1 е броя на commit-ите, които сте направили в грешния бранч. Сега при git status ще си видите файловете, които можете да сложите в правилния бранч.

А ако по някава причина искате да се върнете към стар commit лесно можете да се върнете към кой да е с:

git checkout <COMMIT-ID>

Edit – а ако ви се наложи да си изтриете всички локални бранчове това лесно може да стане със следните стъпки:

  • Списък с всички бранчове, които ще бъдат изтрити локално:
git for-each-ref --format '%(refname:short)' refs/heads | grep -v master

Или направо да изтриете списъка с бранчове:

git for-each-ref --format '%(refname:short)' refs/heads | grep -v master | xargs git branch -D


Edit – 23.01.2022:

Ако искате да изтриете всички локални бранчове, които вече не използвате (например са изтрити от remote-а):

git remote prune origin

Edit – 19.12.2022

Ако работите дълго време във ваш бранч и трябва да вземете latest от друг бранч (в моя случай master):

git fetch
git rebase origin/master

Edit – 22.03.2023

Използвате bitbucket и искате да се възползвате от автоматичната интеграция с тикети? Тогава трябва да добавите ID-то на тикета в commit message-a (или името на бранча). Но в бързината сте забравили да го направите? Или сте допуснали някакво тъпо typo? Няма проблем. Ако е последния commit можете да го направите с:

git commit --amend

Та тъй.