te dwie niecnoty to kłopoty - Mateusz Łukaszczyk

Te dwie gałęzie to kłopoty – Merging branches

Te dwie niecnoty to kłopoty

Przyszedł czas na mergowanie branchy. 

Ani razu nie miałem z tym do czynienia i nie wiedziałem czego się spodziewać. Jednak otrzymałem radę „Tak szczerze to nie ma szans, żebyś coś zepsuł na Gicie”.

A JEDNAK

Na początku poszedł Merge Request (albo Pull Request jeśli ktoś woli) do gałęzi HTTP. Wszystko cacy zaakceptowane, no to merge do mastera.

Wszystko przebiegło pomyślnie – cała gałąź została zmergowana, a zmiany zapisane.

Teraz przyszedł czas na drugiego brancha. 

Wysyłam Merge Requesta do gałęzi RESTController i wyskoczyły konflikty. Przecież to logiczne, skoro teraz na masterze jest cały klient HTTP.

No to szybkie sprawdzenie konfliktów – akceptacja i… przeszło. Jest super świetnie.

Sprawdzam czy jest wszystko na masterze i… nie ma? Jak to przecież sam konflikty rozwiązywałem. 

No dobra to sprawdzam brancha RESTController.

Co to się stanęło się...

O matko…

Czy ja właśnie zmergowałem mastera z RESTem w drugą stronę? Wszystkie zmiany zostały zapisane na gałęzi, którą chciałem, aby przeszła do mastera.

Pierwsza reakcja – panika.

Jak to? I co teraz? Czyli wszystkie moje zmiany poszły w las?

Wziąłem parę głębokim oddechów i zrozumiałem, że to nie taki dramat.

Przecież rozwiązałem wszystkie konflikty i po prostu wszystkie zmergowane gałęzie są na RESTControllerze. 

Faktycznie nic się nie stało.

Wysłałem ponownie Merge Requesta do mastera. Przebiegło bez konfliktów, a commity z REST nadal są i mają się dobrze.

Nie taki diabeł straszny

Jestem zdania, że jeśli się czegoś nie zna, a tym bardziej nie potrafi, to należy próbować. 

Wiedzieć co się robi, ale próbować. Samą teorię niewiele się zdziała.

To był idealny przykład ludzkiego błędu, który ochronił program.

Właśnie dlatego powstały różne systemy kontroli wersji. Aby zapobiegać ludzkim błędom. Gdyby Git nie zapisywał kopii gałęzi REST nie byłoby widocznych żadnych zmian.

Jak sobie myślę, to ten błąd zrobił na mnie dobre wrażenie.

Coś niespodziewanego się stało, odczułem to i sobie poradziłem. To napawa pewną dumą.

Wyniesiona lekcja:

Próbować i się nie bać. 

Zrobić backupy jeśli trzeba, albo wiedzieć gdzie ich szukać. Im dłużej się zastanawia nad zrealizowaniem zadania, tym dłużej w głowie można wyobrażać sobie jego poziom trudności.

Należy zacząć i pytać „Czego w tym momencie nie wiem?”. To pozwala odblokować głowę.

Przeczytaj również inne artykuły dotyczące programowania