Mercurial dla programistów - szybki start z systemem kontroli wersji

Mercurial dla programistów - szybki start z systemem kontroli wersji
Autor Adam Pawlak
Adam Pawlak02.11.2023 | 6 min.

Systemy kontroli wersji takie jak Mercurial są nieodzownym narzędziem dla każdego programisty. Pozwalają śledzić zmiany w kodzie, cofać błędne modyfikacje oraz współpracować z innymi developerami. Jednak dla osób stawiających pierwsze kroki, ogrom możliwości Mercuriala może być przytłaczający. Dlatego przygotowaliśmy ten poradnik, aby przeprowadzić Cię przez podstawy pracy z Mercurialem i pokazać, jak wykorzystać go na co dzień w projektach programistycznych.

Podstawy pracy z Mercurialem

Mercurial jest systemem kontroli wersji rozproszonym, bazującym na modelu rozgałęzianym (DVCS). Oznacza to, że każda kopia repozytorium zawiera pełną historię wszystkich zmian. Daje to dużą elastyczność - możesz pracować w trybie offline, tworzyć dowolną ilość gałęzi, a następnie scalać je ze sobą.

Podstawowymi pojęciami w Mercurialu są:

  • Repozytorium - folder zawierający wszystkie pliki projektu i historie zmian.
  • Rewizja (commit) - zatwierdzenie zestawu zmian, wraz z notatką opisującą wprowadzone modyfikacje.
  • Gałąź (branch) - niezależna linia rozwoju kodu, będąca kopią repozytorium.

Zalety pracy z Mercurialem

Mercurial oferuje wiele korzyści, dzięki którym jest chętnie wykorzystywany przez programistów:

  • Prosta obsługa - interfejs linii poleceń hg jest intuicyjny i łatwy w opanowaniu.
  • Szybkość - operacje takie jak commit czy checkout są bardzo szybkie.
  • Rozproszenie - każda kopia repozytorium jest pełnowartościowa.
  • Gałęzie - łatwe tworzenie gałęzi i scalanie ich ze sobą.
  • Graficzne interfejsy - wsparcie popularnych IDE i menedżerów pakietów.

Porównanie z innymi systemami kontroli wersji

Mercurial jest bardzo podobny w działaniu do takich systemów jak Git czy SVN. Różni się od nich przede wszystkim sposobem przechowywania danych. Oto krótkie porównanie Mercuriala z Gitem i SVN:

  • Git - podobny model rozproszony, Mercurial jest prostszy w obsłudze.
  • SVN - scentralizowany model repozytorium, wolniejszy przy pracy offline.

Instalacja i konfiguracja Mercuriala

Aby móc korzystać z Mercuriala, należy najpierw zainstalować go na swoim komputerze. Proces instalacji jest bardzo prosty i sprowadza się do pobrania odpowiedniego pakietu instalacyjnego ze strony mercurial-scm.org.

Instalacja

Mercuriala można zainstalować na większości popularnych systemów operacyjnych, w tym Windows, Linux i macOS. Wystarczy pobrać odpowiedni instalator i uruchomić go, a następnie postępować zgodnie z instrukcjami instalacji.

Sprawdzenie poprawności instalacji

Aby sprawdzić, czy instalacja przebiegła prawidłowo, wystarczy otworzyć wiersz poleceń i wpisać polecenie hg. Jeśli zobaczysz listę dostępnych komend, oznacza to, że Mercurial został poprawnie zainstalowany.

Konfiguracja

Przed rozpoczęciem pracy, warto dostosować globalną konfigurację Mercuriala. Służą do tego następujące polecenia:

  • hg config --edit - edycja pliku konfiguracyjnego
  • hg config --global user.name "Imię Nazwisko" - ustawienie nazwy użytkownika
  • hg config --global user.email "[email protected]" - ustawienie adresu email

Dane te będą wykorzystywane przy każdym commicie jako informacje o autorze zmian.

Czytaj więcej: Git dla programistów - najważniejsze komendy i dobre praktyki

Tworzenie repozytorium i zarządzanie plikami

Repozytorium Mercuriala to miejsce, gdzie przechowywany jest cały kod projektu oraz pełna historia wprowadzonych zmian. Zanim zaczniesz wprowadzać modyfikacje w kodzie, musisz najpierw utworzyć repozytorium.

Inicjowanie repozytorium

Aby zainicjować nowe, puste repozytorium Hg, przejdź do folderu projektu i wykonaj polecenie:

hg init

Spowoduje to utworzenie ukrytego folderu .hg, w którym przechowywane będą wszystkie dane repozytorium.

Dodawanie i commitowanie plików

Teraz możesz dodać pliki projektu do repozytorium. Robi się to w dwóch krokach:

  1. hg add nazwa_pliku - dodanie plików do śledzenia przez Hg
  2. hg commit -m "wiadomość" - zatwierdzenie zmian i utworzenie nowego commita

Każdy commit powinien zawierać krótką, ale treściwą wiadomość opisującą wprowadzone zmiany. Dobrze opisane commity ułatwiają późniejsze przeglądanie historii.

Przeglądanie historii commitów

Aby zobaczyć listę wszystkich commitów w repozytorium, użyj polecenia:

hg log

Pokaże ono datę modyfikacji, hash commita, autora, oraz treść komentarza dla każdej rewizji. Możesz także podać zakres dat lub hash commita, aby zobaczyć tylko część historii.

Gałęzie i merge'owanie

Jedną z największych zalet Mercuriala jest łatwość pracy z gałęziami. Pozwalają one na niezależny rozwój różnych funkcjonalności, które później można scalic ze sobą.

Tworzenie i przełączanie gałęzi

Aby utworzyć nową gałąź, użyj polecenia:

hg branch nazwa_gałęzi

Natomiast, aby przełączyć się na inną gałąź, wykonaj:

hg checkout nazwa_gałęzi

Zalecane jest tworzenie osobnych gałęzi dla każdej nowej funkcjonalności lub fixa.

Scalanie gałęzi za pomocą merge'a

Gdy praca w gałęzi zostanie ukończona, można scalić ją z gałęzią główną (zwykle default) poleceniem:

hg merge nazwa_gałęzi

Spowoduje to wprowadzenie wszystkich zmian z gałęzi docelowej do aktualnej gałęzi.

Rozwiązywanie konfliktów podczas merge'a

Czasami podczas scalania gałęzi mogą wystąpić konflikty, gdy ta sama linijka kodu została zmodyfikowana w obu gałęziach. W takim przypadku Mercurial wymaga ręcznego rozwiązania konfliktu przez programistę.

Współpraca zdalna i hosting

Mercurial umożliwia współpracę zdalną z wykorzystaniem repozytoriów hostingowych takich jak Bitbucket czy Kiln. Pozwala to na pracę grupową i synchronizację zmian między programistami.

Klonowanie zdalnych repozytoriów

Aby sklonować zdalne repozytorium na swój komputer, użyj polecenia:

hg clone adres_repozytorium

Spowoduje to pobranie pełnej kopii repozytorium wraz z całą historią.

Wysyłanie i pobieranie zmian przez push i pull

Po wprowadzeniu lokalnych zmian, możesz wysłać je na serwer poleceniem:

hg push

Natomiast aby zsynchronizować swoje repozytorium z serwerem, użyj:

hg pull

Korzystanie z hostingu kodu np. Bitbucket

Serwisy takie jak Bitbucket umożliwiają tworzenie repozytoriów, zarządzanie dostępem użytkowników oraz przeglądanie kodu poprzez interfejs webowy. Ułatwia to znacznie współpracę zespołową.

Rozszerzone możliwości Mercuriala

Oprócz podstawowych funkcji, Mercurial oferuje także szereg zaawansowanych możliwości, które pomogą usprawnić Twój workflow.

Zarządzanie wieloma repozytoriami

Możliwe jest pobranie wielu zdalnych repozytoriów do jednego folderu na dysku i zarządzanie nimi za pomocą wspólnego configa użytkownika.

Rozszerzenia i zagnieżdżanie repozytoriów

Dostępne są dodatkowe rozszerzenia rozwijające funkcjonalność Mercuriala, a także mechanizm subrepozytoriów pozwalający na zagnieżdżanie projektów.

Automatyzacja i integracja z innymi narzędziami

Mercurial pozwala na automatyzację wielu zadań przy pomocy skryptów hoook. Możliwa jest również integracja z popularnymi narzędziami CI/CD czy IDE.

Mamy nadzieję, że ten poradnik pomoże Ci sprawnie rozpocząć pracę z Mercurialem. Jego możliwości sprawiają, że jest to doskonałe narzędzie dla każdego programisty pracującego w zespole. Zapraszamy do testowania Mercuriala w Twoich projektach!

5 Podobnych Artykułów:

  1. Testowanie i debugowanie kodu w Pythonie - poradnik dla początkujących
  2. Jak pisać czytelne komentarze w kodzie? Porady i przykłady
  3. Jak wybrać specjalizację w programowaniu? Poradnik
  4. Podstawy Linuxa dla programistów - kurs dla początkujących
  5. Najczęstsze problemy początkujących programistów i jak ich unikać
tagTagi
shareUdostępnij
Autor Adam Pawlak
Adam Pawlak

Cześć, jestem Adam, a witajcie na moim blogu o programowaniu! Tutaj znajdziesz wiele przydatnych informacji, porad i inspiracji związanych z fascynującym światem kodowania i rozwoju oprogramowania.

Oceń artykuł
rating-fill
rating-fill
rating-fill
rating-fill
rating-fill
Ocena: 0.00 Liczba głosów: 0

Komentarze (0)

email
email

Polecane artykuły