Special Refs

Istnieje grupa specjalnych referencji (tzw. Special Refs) tworzonych przez git automatycznie. Są to:

  • HEAD - bieżący branch/commit
  • FETCH_HEAD - ostatnio pobrany (poleceniem git fetch) branch ze zdalnego repozytorium
  • ORIG_HEAD - referencja do HEAD tworzona na potrzeby drastycznych zmian w HEAD
  • MERGE_HEAD - commit (lub commity) merge'owane za pomocą polecenia git merge
  • CHERRY_PICK_HEAD - commit, który wskazujemy przy poleceniu git cherry-pick

Każda z powyższych referencji jest plikiem w katalogu .git zawierająca jedną z poniższych zawartości:

  • SHA1 commitu, na który wskazuje
  • link symboliczny na inny ref - np. refs/heads/master

Relatywne referencje

Git posiada dwa mechanizmy relacyjnego określania referencji. Pierwszym z nich jest ~. Jest to znak oznaczający "n-przodków wskazanego commitu". Przykładowo polecenie

git show HEAD~2

Pokaże zawartość 3 commitu (licząc od najnowszego).

Znak ~ odwołuje się zawsze do pierwszego rodzica (liniowa historia). Kiedy zaczynamy merge'ować nasze branche - jeden commit może mieć więcej niż jednego rodzica. W takich przypadkach potrzebne jest skorzystanie ze znaku ^.

results matching ""

    No results matching ""