Jak przenieść ostatnie commity z głównego brancha do innego
![](https://poznajgita.pl/wp-content/uploads/2018/07/move.jpg)
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](https://i2.wp.com/poznajgita.pl/wp-content/uploads/2018/07/git-commit-to-move-to-another-branch.png?resize=600%2C131&ssl=1)
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](https://i1.wp.com/poznajgita.pl/wp-content/uploads/2018/07/git-two-branches-point-the-same-head.png?resize=711%2C125&ssl=1)
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](https://i1.wp.com/poznajgita.pl/wp-content/uploads/2018/07/git-log-masster-move-to-another-branch.png?resize=483%2C85&ssl=1)
Branch new_branch
wygląda następująco. Ma wszystkie commity, które był na master.
![git log new_branch move to another branch](https://i2.wp.com/poznajgita.pl/wp-content/uploads/2018/07/git-log-new_branch-move-to-another-branch.png?resize=681%2C133&ssl=1)
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