Lebrande
JavaScript Developer

Moje podejście do pracy i nauki z systemem kontroli wersji Git.

July 25, 2018

Kilka praktycznych porad na temat Gita. Przeczytaj o tym, jak rozwijam swoje umiejętności i jakie metody na samokształcenie się w Gicie wykorzystuję. Jak w ogóle do tego podchodzę? Czytaj…

Jakie mam doświadczenie w pracy z Gitem?

Nie pamiętam dokładnie, na którym etapie zaczął mi towarzyszyć. Wiem, że na pewno nie od samego początku. Zacząłem go używać, kiedy go zwyczajnie potrzebowałem. Gdzie jestem teraz? Minęło kilka lat i mam wrażenie, że właśnie przełamuje się moja krzywa nauki. Wydaje mi się, że wiem już dostatecznie dużo, a tak na prawdę zaczynam dostrzegać, że wiem mało.

Jak tworzyć repozytoria?

To pytanie nie jest takie banalne. O ile mam prostą apkę w Javascripcie, wszystko wrzucam do jednego wora (repo). O takich przypadkach teraz nie mówimy, są oczywiste.

Co jeśli piszę front-end i back-end równolegle?

Zawsze tworzę dwa lub nawet trzy (backend, web, mobile) osobne repozytoria. Nawet jeśli będę musiał się pomiędzy nimi co chwilę przełączać. Prawdopodobnie każde z nich trafi na inną maszynę. Dochodzi też budowanie, wersjonowanie i deployowanie. Wtedy osobne repozytoria znacznie ułatwiają pracę. Chcesz builda poprzedniej wersji produkcyjnego frontu? Jedna komenda w konsoli i boom!

Czysto

Dobrze jest podzielić sobie pracę na drobne kawałki. Jak drobne? Najdrobniejsze jak się da, oczywiście z rozsądkiem. Jeśli to nie konieczne, nie mieszam Javascriptu z innymi językami. Unikam wszelkiego rodzaju połączeń, miksów i kombinowania.

Co jeśli twój projekt nie używa żadnego package managera?

Z tym wyzwaniem mierzyłem się Tworząc strony na WordPressie, momentami chyba dość zaawansowane. WordPress posiada wtyczki (pluginy), które są pobierane z repozytorium w sieci. Wszystko to nieco łopatologiczne, ponieważ WordPress był tworzony dla blogerów. Do dzisiaj wspominam ponure dni, kiedy przed każdym commitem musiałem robić dumpa całej bazy danych. Wszystkie vendory w repo! Takie jest życie i trzeba sobie z tym radzić. Nie ma łatwych odpowiedzi. Kierowałbym się jednak regułą, aby repozytorium było jak najmniejsze, nie zawierało niepotrzebnych treści. Jeśli mogę wynieść coś poza repo, robię to.

Moje źródła wiedzy

Dokumentacja.

Całkiem niezła, ale na pewno nie jest eh, porywająca. Jeśli masz już jakąś komendę, ale nie wiesz co ona robi, zajrzyj właśnie tu. W drugą stronę będzie to bolesne. Nikt przecież nie bierze ze sobą w podróż encyklopedii, aby czytać na plaży lub w pociągu.

Książka - Włodzimierz Gajda, “Git. Rozproszony system kontroli wersji.” Helion

Kupiłem sobie książkę, ponieważ chciałem, aby ktoś mi o tym opowiedział. Tej pozycji również nie wziąłbym na wakacje. Natomiast na początek przydała mi się do pracy przy biurku, to z nią właśnie zrobiłem swojego pierwszego commita. Przez to, że książka jest napisana po polsku, nauczyłem się terminologii po polsku. Taka ciekawostka.

Kurs Gita Macieja Aniserowicza

https://kursgita.pl/ W chwili publikacji tego artykułu, czekam na jego wydanie. Nie ma jeszcze przedsprzedaży, ale można zapisać się do newslettera. Dostałem kilka maili i zapowiada się ciekawie. Czekam na pasjonujące opowieści.

Zespół

Najciekawszych trików nauczyłem się właśnie od moich kolegów. Strategie łączenia kodu, odwieczny pojedynek merge kontra rebase oraz pytania “Czy muszę tworzyć nowego brancha?“. Nikt nie wytłumaczy Ci tego tak zwięźle jak kolega z biurka obok.

Co z GUI?

Nie jestem typem, który dostaje wysypki na widok Source Tree. Działanie tej apki pozostawia wiele do życzenia, ale fajnie pokazuje drzewka i diffy (różnice w kodzie między rewizjami, commitami). Warto umieć zrobić to wszystko również w konsoli. Zdecydowanie polecam naukę od konsoli. Na początek to tylko dwie komendy! Graficzny interfejs pozwala mi lepiej ogarnąć wszystko wzrokowo, ale operacje wykonuję samodzielnie wpisując komendy. Czuję się bezpieczny, mam nad wszystkim kontrolę.


Jakub Pusiak

Written by Jakub Pusiak. Follow me on Twitter