git-rebase

Niech commit sobie odczeka

Posted on Updated on

Jako że korzystam z GITa mogę zrobić taki scenariusz:

– robię commit (kilka commitów)
– biorę się za nastepny task
– w międzyczasie pojawia się obiad
– wracam po obiedzie
– ściągam najnowszą histori i robię rebase moich commitów (‘git pull –rebase’, gdzie wystarcza ‘git pull’, bo opcja rebase mam defaultowo włączoną)
– przeglądam commity zanim je wpushuje !!! i tutaj dzieją się fajne rzeczy. Zauważam jakiś bug, zauważam czego zapomniałem, co mogę czytelniej napisać. I do publicznej historii trafia kod po prostu lepszy.

W tym przykładzie nieistotne jest czy pushuje bezpośrednio na brach “develop” czy tworzę branch pod PR i code review.

git rebase – jak nic nie popsuć

Posted on

Nie da się nic popsuć – każda zabawa z git rebase jest odwracalna (link do xxx, co zawsze zostaje w gicie).

git-rebase

Sytuacja: jesteśmy na branchu mywork (nasza praca C5 i C6). Na branchu origin najnowszy kod od innych developerow i chcemy nasze commity nałożyć na tamten kod.

git checkout mywork

git rebase origin

W tym momencie wywaliło komunikatem o konfliktach, które niestety źle roziązaliśmy i chcemy zacząć cały process od nowa.

git rebase --abort

to jest ta komenda która ustawi nas w miejscu gdzie byliśmy przed rozpoczęciem rebase. Ostatnio po prezentacji dostałem pytanie, że “rebase jest mniej bezpieczny bo do naszego brancha lądują obce commity na które dopiero nakładamy nasze i jak coś się zepsuje to trudniej będzie z tego wrócić niż merge’a”. Okazuje się że nie i komenta git rebase –abort załatwia wszystko. To jest takie proste 🙂