Ако сте виртуозен 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
Та тъй.
Leave a Reply