Mercurial (Hg) – System kontroli wersji przewodnik

Wprowadzenie

Mercurial (Hg) to rozproszony system kontroli wersji, który pozwala na efektywne zarządzanie kodem źródłowym i historią zmian. Jest szybki, bezpieczny i prosty w obsłudze, co czyni go doskonałym wyborem dla programistów pracujących indywidualnie oraz w zespołach. W tym artykule omówimy kluczowe funkcje Mercurial, pokażemy jak utworzyć repozytorium oraz przedstawimy najważniejsze polecenia wraz z ich opisami.


Instalacja Mercurial

Aby rozpocząć pracę z Mercurial, należy go zainstalować na swoim systemie operacyjnym. Oto jak to zrobić:

Windows

  1. Pobierz instalator ze strony: https://www.mercurial-scm.org/
  2. Uruchom plik instalacyjny i postępuj zgodnie z instrukcjami.
  3. Sprawdź poprawność instalacji:hg versionSprawdza, czy Mercurial jest poprawnie zainstalowany i wyświetla jego wersję.

Linux (Debian/Ubuntu)

sudo apt update
sudo apt install mercurial

macOS

brew install mercurial

Po instalacji można skonfigurować użytkownika:

hg config --edit

Otwiera plik konfiguracyjny Mercurial, w którym można ustawić nazwę użytkownika i adres e-mail.


Tworzenie i konfigurowanie repozytorium Mercurial

Tworzenie nowego repozytorium

Aby rozpocząć śledzenie zmian w projekcie, należy utworzyć repozytorium Mercurial:

hg init my_project
cd my_project

Tworzy nowe repozytorium Mercurial w katalogu my_project.


Podstawowe operacje w Mercurial

Dodawanie i zatwierdzanie plików

Dodanie plików do repozytorium:

hg add file.txt

Dodaje plik file.txt do śledzenia przez Mercurial.

Zatwierdzenie zmian:

hg commit -m "Dodano plik"

Tworzy nowy commit z podanym opisem.

Sprawdzanie statusu repozytorium

Aby zobaczyć, jakie zmiany zostały wprowadzone, użyj:

hg status

Wyświetla listę zmodyfikowanych, dodanych i usuniętych plików.

Wyświetlanie historii commitów

hg log

Pokazuje historię commitów wraz z ich identyfikatorami i opisami.

Podgląd zmian w plikach

hg diff

Porównuje aktualne zmiany z ostatnim commitem.


Zarządzanie wersjami w Mercurial

Przywracanie poprzednich wersji

hg update -r REVISION

Przywraca repozytorium do określonej wersji.

Cofanie niezatwierdzonych zmian

hg revert file.txt

Cofa zmiany w pliku file.txt do ostatniej zatwierdzonej wersji.

Porównywanie wersji plików

hg diff -r REVISION1 -r REVISION2

Pokazuje różnice między dwoma wersjami.


Praca z gałęziami (branches)

Tworzenie i przełączanie się na nową gałąź

hg branch feature-branch
hg update feature-branch

Tworzy nową gałąź feature-branch i przełącza się na nią.

Scalanie gałęzi

hg merge default
hg commit -m "Scalono zmiany"

Łączy zmiany z gałęzi default do aktualnej gałęzi.

Zamykanie gałęzi

hg commit --close-branch -m "Zamknięcie gałęzi feature-branch"

Oznacza gałąź jako zamkniętą, co oznacza, że nie będzie już aktywnie rozwijana.


Praca z repozytorium zdalnym

Klonowanie repozytorium

hg clone https://example.com/repo

Tworzy lokalną kopię zdalnego repozytorium.

Pobieranie zmian z repozytorium zdalnego

hg pull
hg update

Pobiera zmiany z repozytorium zdalnego i aktualizuje lokalną wersję.

Wysyłanie commitów do repozytorium zdalnego

hg push

Wysyła lokalne zmiany do repozytorium zdalnego.


Debugowanie i naprawa błędów

Cofanie ostatniego commita

hg rollback

Anuluje ostatni commit.

Ignorowanie plików w .hgignore

Aby wykluczyć określone pliki z repozytorium, dodaj je do .hgignore:

syntax: glob
*.log
node_modules/

Resetowanie repozytorium

hg update --clean

Usuwa wszystkie niezapisane zmiany i przywraca repozytorium do czystego stanu.


Najlepsze praktyki w Mercurial

  • Regularnie wykonuj hg pull i hg push, aby synchronizować zmiany.
  • Korzystaj z hg log do śledzenia historii commitów.
  • Przed scalaniem gałęzi zawsze wykonuj hg diff, aby uniknąć konfliktów.
  • Używaj .hgignore do wykluczania zbędnych plików.
  • Dokumentuj zmiany w commitach (hg commit -m "Opis zmiany").

Podsumowanie

Mercurial (Hg) to wydajny i prosty w obsłudze system kontroli wersji. Dzięki intuicyjnym poleceniom umożliwia efektywne zarządzanie kodem źródłowym. Wdrożenie Mercurial w codziennej pracy programisty pozwala na łatwe śledzenie zmian i współpracę zespołową. Jeśli szukasz alternatywy dla innych systemów kontroli wersji, Mercurial jest świetnym wyborem!

F.A.Q. dla Mercurial (Hg) – System kontroli wersji przewodnik


Czym jest Mercurial (hg)?

Mercurial, znany również jako 'hg', to rozproszony system kontroli wersji stworzony w celu zarządzania kodem źródłowym w projektach programistycznych. Umożliwia śledzenie zmian w plikach, współpracę wielu programistów oraz zarządzanie różnymi wersjami projektu.


Jakie są główne cechy Mercuriala?

Mercurial charakteryzuje się wysoką wydajnością, skalowalnością oraz prostotą obsługi. Jest platformą niezależną, co oznacza, że działa na różnych systemach operacyjnych, takich jak Windows, macOS czy Linux. Posiada intuicyjny interfejs wiersza poleceń oraz wsparcie dla wielu rozszerzeń, które umożliwiają dostosowanie jego funkcjonalności do indywidualnych potrzeb.


Jak zainstalować Mercurial na swoim systemie?

Aby zainstalować Mercurial, należy pobrać odpowiednią wersję instalatora ze strony projektu lub skorzystać z menedżera pakietów dostępnego w danym systemie operacyjnym. Na przykład, w systemie Ubuntu można użyć polecenia 'sudo apt-get install mercurial', a w systemie Windows pobrać instalator ze strony Mercuriala.


Jak rozpocząć pracę z Mercurialem?

Po zainstalowaniu Mercuriala, aby rozpocząć pracę, należy utworzyć nowe repozytorium za pomocą polecenia 'hg init'. Następnie można dodawać pliki do śledzenia ('hg add'), zatwierdzać zmiany ('hg commit') oraz przeglądać historię zmian ('hg log').


Jak klonować istniejące repozytorium Mercurial?

Aby sklonować istniejące repozytorium, należy użyć polecenia 'hg clone [URL]', gdzie '[URL]' to adres repozytorium. Po sklonowaniu, lokalna kopia będzie zawierać pełną historię projektu, co umożliwia pracę w trybie offline.


Jak zarządzać gałęziami w Mercurialu?

Mercurial umożliwia tworzenie i zarządzanie gałęziami za pomocą polecenia 'hg branch [nazwa_gałęzi]'. Gałęzie pozwalają na równoległe rozwijanie różnych funkcji lub wersji projektu. Po zakończeniu pracy na danej gałęzi, można scalić ją z główną linią rozwoju za pomocą polecenia 'hg merge'.


Jak rozwiązywać konflikty podczas scalania w Mercurialu?

Podczas scalania gałęzi mogą wystąpić konflikty, gdy te same fragmenty kodu zostały zmienione w różnych gałęziach. Mercurial informuje o takich sytuacjach i umożliwia ręczne rozwiązanie konfliktów poprzez edycję plików i oznaczenie ich jako rozwiązane za pomocą polecenia 'hg resolve --mark [plik]'.


Jakie są najlepsze praktyki podczas korzystania z Mercuriala?

Najlepsze praktyki obejmują regularne zatwierdzanie zmian z opisowymi komunikatami, unikanie dużych jednorazowych commitów, częste aktualizowanie lokalnego repozytorium oraz korzystanie z gałęzi do rozwijania nowych funkcji lub poprawek. Ważne jest również regularne tworzenie kopii zapasowych oraz dbanie o czytelność historii projektu.