Jak przenieść ostatnie commity z głównego brancha do innego
Ostatnio kolega w pracy miał taką sytuację, że miał kilka commitów nie dokończonej funkcjonalności na głównym branchu . Musiał jednak przerwać robienie tego, ponieważ w miarę szybko musiał poprawić inną rzecz. Potrzebował przenieść swoją pracę na inny branch.
Jakby zaczął robić tę funkcjonalność od razu na oddzielnym branchu to nie było by problemu. Na szczęście pracujemy z gitem i zmiana commitów nie wymaga dużego nakładu pracy.
Przygotowałem taką sytuację na swoim testowym repozytorium:
3 ostatnie commity będę chciał przenieść na innego branch. Na początku tworzymy nowy branch:
git branch new_branch
Widać, że oba branche są w tym samym miejscu:
Następnie usuwamy 3 commity z branch master:
git reset --hard HEAD~3
Mamy sytuację, którą chcieliśmy osiągnąć. Na masterze ostatnim commitem jest d352ac2
.
Branch new_branch
wygląda następująco. Ma wszystkie commity, które był na master.
I tylko tyle trzeba zrobić, aby przenieść commity z jednego brancha na drugi. W pierwszym momencie myślałem, że będzie to bardziej skomplikowane 🙂
Podsumowując:
git branch new-branch
git reset --hard HEAD~3
0 Komentarzy