Graficzny klient Gita – co warto wiedzieć?
Wielu początkujących programistów nie używa albo nawet nie wie o istnieniu systemów kontroli wersji. To poważny błąd, który ma swoje konsekwencje w momencie rozrastania się projektu. Mała aplikacja staje się coraz większa i większa, aż w końcu przestajemy nad tym panować. Wtedy zazwyczaj panicznie szukamy rozwiązania napotkanych problemów i bez większego zastanowienia w efekcie instalujemy jednego z graficznych klientów wybranego systemu kontroli wersji, myśląc, że zażegnaliśmy pożar. Nic z tych rzeczy! Problemy dopiero się zaczną jak przy próbie wypchnięcia zmian na zewnętrzny serwer z naszym repozytorium (np. GitHub’a albo Bitbucket’a) otrzymamy milion konfliktów oraz innych dziwnych powiadomień. Jeśli nigdy wcześniej nie używałeś tego typu narzędzi bądź nie masz pojęcia na jakiej zasadzie to wszystko działa to napiszę krótko, życzę powodzenia…
Graficzny klient np. Gita jest bardzo pomocny w codziennej pracy. Dzięki jego wykorzystaniu programiści nie muszą zaprzątać sobie głowy milionem różnych komend oraz zastanawiać się nad innym aspektami pracy z repozytorium, które może być sporych rozmiarów. Prawdę powiedziawszy dziś mało kto używa zwyczajnej konsoli i ręcznie wklepuje w terminalu komendy typu git pull
itd. usuwając przy tym konflikty w konsolowym Vimie. Co prawda nikt tak już nie pracuje ale to nie zwalnia nas z tego, aby na ten temat nic nie wiedzieć. Zanim więc sięgniemy po graficzne narzędzie warto zagłębić się w tajniki wybranego systemu kontroli wersji, poznać jego idę oraz zasady działania.
Aplikacje takie jak TortoiseGit, Git Extensions czy GitHub for Desktop potrafią znacznie przyspieszyć i uporządkować pracę zespołu programistów. Co najważniejsze są one darmowe (również do zastosowań komercyjnych) nic więc dziwnego, że wiele zespołów w firmach IT wykorzystuje je do codziennej pracy.
Z jakich klientów Gita korzystać?
Na to pytanie jest naprawdę ciężko odpowiedzieć. Tak naprawdę poszczególne aplikacje nie mają między sobą wielu różnic. Zanim jednak zaczniesz zastanawiać się nad instalację dedykowanego programu do obsługi Gita czy jakiegokolwiek innego systemu kontroli wersji, dobrze jest się upewnić czy przypadkiem Twoje środowisko pracy nie oferuje podobnych opcji. Dla przykładu Android Studio oraz popularne w branży IT aplikacje JetBrains (producent między innymi IntelliJ IDEA, PhpSotrm, CLion…) oferują cały szereg narzędzi do obsługi systemów kontroli wersji.
Ja osobiście miałem styczność z aplikacjami takimi jak TortoiseGit, GitExtensions oraz GitHub for Desktop.
TortoiseGit (Windows)
TortoiseGit to proste narzędzie do graficznej obsługi repozytoriów Gita bazujące na aplikacji TortoiseSVN. Charakteryzuje się głównie tym, że jest dostępne tylko i wyłącznie na platformie Windows gdzie integruje się z powłoką systemową. Program udostępniony jest na darmowej licencji GNU General Public License.
GitExtensions (Windows)
Nieco bardziej rozbudowane narzędzie do obsługi Git’a. Aplikacja integruje się z powłoką systemową i umożliwia szybki i sprawny dostęp do wielu popularnych komend. Podczas instalacji możliwe jest doinstalowanie dedykowanego narzędzia do porównywania plików – KDiff3.
Git Extensions pobierzecie ze strony Sourceforge.net: sourceforge.net/projects/gitextensions.
GitHub for Desktop (Windows, macOS)
Jeśli korzystacie z serwisu GitHub.com gdzie hostujecie swój kod to z pewnością ta aplikacja was zainteresuje. De facto GitHub for Desktop nie jest klientem Git’a, a narzędziem zapewniającym lepszą obsługę GitHub’a – co oczywiście nie zmienia faktu, że z poziomu tego programu nie macie dostępu do wykorzystywanych w trakcie pracy przy repozytorium komend Gita. Jeżeli nad danym projektem pracuje kilku programistów, bądź dla większego bezpieczeństwa postanowiłeś swój kod zapisywać na zewnętrznym serwerze, a Twój wybór padł na serwis GitHub.com to ta aplikacja będzie bardzo dobrym narzędziem ułatwiającym codzienną pracę.
GitHub for Desktop pobierzecie z strony: desktop.github.com. Narzędzie jest w pełni darmowe.
Jedyne co warto wiedzieć o klientach graficznych do GITa to to że… nie warto ich używać ;). Może na początku żeby w ogóle zacząć pracę z GITem, ale później żeby faktycznie zrozumieć co się dzieje w tle i jak to wszystko wygląda to tylko konsola.
Moje niedbalstwo obciąża tylko mnie, bo nie pracuję w zespole i chyba to się nie zmieni, bo nie poznawałem „procedur testowych”, „systemów wersjonujących”.
Pracowałem w „zespoole” ze Starszym Programistą. Gdy wpuścił mnie do projektu głównego, prędko potrzebowaliśmy „System Wersjujący”. Życie odpowiedziało tezą :
„-zbyt prędko się uczycie !” ( znaczy my dwaj ze St. Programistą )
Mimo dbałości usilnej, powstał bałagan. Trzeba z „tą funkcjonalnością” ostrożnie. Konflikty i mój „gorący umysł” zwolniły mnie „-bo St. Programista sie czepiał…”
Udogodnienia to „kurde następna dawka wiedzy”, i mnie mój blog z czterema wersjami nie zmotywował do Wersjonowania. A „poprawki” bywają „upierdliwe”. Ale mam charakter : „-nie irytuj się.”