Jak wyciągnąć repozytorium Git w systemie Linux?

Git definiuje procesy kontroli wersji dotyczące sposobu udostępniania projektów. Istnieje wiele witryn internetowych, które umożliwiają hostowanie projektów Git. GitHub to najpopularniejsza opcja, Bitbucket to kolejna popularna alternatywa, obie umożliwiają darmowe konta, które mogą tworzyć nieograniczoną liczbę publicznych lub prywatnych repozytoriów. GitLab oferuje samoobsługową alternatywę pozwalającą na prywatny rozwój bez polegania na hostingu stron trzecich.

Proces pierwszego pobrania repozytorium Git nazywa się klonowaniem. Klonowanie obejmuje wszystkie informacje o repozytorium w danym momencie, jednak aby z czasem repozytorium było aktualne, musisz ściągać nowe wersje. Aby to zrobić, po prostu otwórz okno terminala w katalogu z lokalną wersją repozytorium i wpisz polecenie „git pull”.

Działanie tego polecenia jest szczególnie proste, jeśli chcesz tylko pobrać zaktualizowaną wersję repozytorium; wersja lokalna zostanie zaktualizowana, aby pasowała do wersji zdalnej. Możesz jednak zauważyć, że mogą wystąpić problemy, jeśli dokonałeś modyfikacji lokalnej wersji.

Polecenie „git pull” faktycznie uruchamia dwa oddzielne polecenia „git fetch” i „git merge FETCH HEAD”. Polecenie podrzędne „git fetch” pobiera najnowszą wersję z repozytorium online i tymczasowo ją przechowuje. Podkomenda „git merge FETCH HEAD” łączy lokalne zmiany z pobraną wersją, przy czym preferowane są nowsze zatwierdzenia.

Wskazówka: „Zatwierdzenie git” to przesłanie zmiany, możliwe jest posiadanie wielu zatwierdzeń lokalnych i zdalnych, które wykonują te same lub różne rzeczy. Zatwierdzenia lokalne nie są widoczne dla wersji zdalnej, dopóki zmiany nie zostaną wypchnięte. Każdy zatwierdzenie szczegółowo opisuje, jakie zmiany zostały wprowadzone, i zawiera sygnaturę czasową.

Konflikty między wersją lokalną i zdalną

Idealnie w scenariuszu scalania nie będzie konfliktów, a proces scalania zakończy się automatycznie. Scalanie może być szczególnie łatwe, jeśli wprowadzono niewiele zmian lub jeśli zmiany lokalne nie kolidują ze zdalnymi zmianami. Jeśli jednak wystąpią sprzeczne złożone zmiany w tej samej części kodu, Git zgłosi błąd scalania.

W tym momencie możesz przerwać scalanie za pomocą polecenia „git merge –abort” lub spróbować ręcznie rozwiązać konflikty. Polecenia „git mergetool” i „git diff” stanowią graficzny przykład różnic, które powinny pomóc aby jak najłatwiej było zobaczyć, jakie zmiany należy wprowadzić ręcznie, aby umożliwić scalenie kompletny. Po rozwiązaniu wszystkich konfliktów wpisz polecenie „git merge –continue”, aby zakończyć scalanie.

Polecenie „git mergetool” otworzy takie narzędzie graficzne, które pomoże ci w ręcznym rozwiązywaniu konfliktów.