Jak przenieść ostatnie commity z głównego brancha do innego

Opublikowane przez Tomasz Prasołek w dniu

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:

git commit to move to another branch

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:

git two branches point the same head

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.

git log masster move to another branch

Branch new_branch wygląda następująco. Ma wszystkie commity, które był na master.

git log new_branch move to another branch

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
Kategorie: GitPorady

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *