[[oktatas:programozás:verziókontroll:git|< Git]]
====== A git HEAD ======
* **Szerző:** Sallai András
* Copyright (c) 2021, Sallai András
* Szerkesztve: 2021, 2022, 2023
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]]
* Web: https://szit.hu
===== A HEAD =====
A HEAD megmutatja éppen hol tartunk.
A következő ábrán két ág van, a master és a dev1.
A dev1 ágon áll HEAD, vagyis amikor dolgozunk
ezen az ágon fejlesztünk.
{{:oktatas:programozas:verziokontroll:git:git_head_01.png?400|}}
A gyakorlatban:
$ git log --oneline
a1df0d1 (HEAD -> master) Barack hozzáadva
54941b7 Körte hozzáadva
367a09d Kezdés
{{:oktatas:programozas:verziokontroll:git:head_pelda_01.png|}}
===== Szimbólumok =====
A következő táblázat bemutatja, hogyan egészíthetjük ki a HEAD szimbólumot a parancsainkban, és
annak milyen hatásai vannak.
| HEAD | Az utolsó commit |
| HEAD~ | HEAD~1 rövidítés |
| HEAD~1 | A commit első szülője |
| HEAD~~ | A commit első szülőjének, első szülője |
| HEAD~2 | A commit első szülőjének, első szülője |
| HEAD^ | A HEAD^1 rövidítése |
| HEAD^1 | A commit első szülője |
| HEAD^2 | A commit második szülője \\ (A commit két szülője van merge után) |
===== A HEAD követi a munkánk =====
Készítsünk egy projektet. Készítsük hozzá Git tárolót:
mkdir app01
cd app01
git init
Készítünk egy állományt, amibe az "apple" szót írjuk; készítünk róla pillanatképet (commit):
echo apple > gy.txt
git add gy.txt
git commit --message "Add apple"
git log --oneline
7b425d8 (HEAD -> master) Add apple
Most az állomány végéhez fűzzük a "pear" szót, majd újra pillanatképet készítünk (commit):
echo pear >> gy.txt
git commit --all --message "Add pear"
422daec (HEAD -> master) Add pear
7b425d8 Add apple
Az állomány végéhez fűzzük a "plum" szót, majd pillanatképet készítünk a projektről:
echo plum >> gy.txt
git commit --all --message "Add plum"
git log --oneline
929da7a (HEAD -> master) Add plum
422daec Add pear
7b425d8 Add apple
===== log =====
Most nézzük meg a HEAD használatát "git log" mellett:
git log --oneline
929da7a (HEAD -> master) Add plum
422daec Add pear
7b425d8 Add apple
Most használjuk a HEAD szimbólumot:
git log --oneline HEAD
929da7a (HEAD -> master) Add plum
422daec Add pear
7b425d8 Add apple
Ugyanaz történik, mivel ez az alapértelmezés.
Most használjuk a ~1 kiegészítést. Azt jelenti az aktuális commit első szülőjét szeretnénk:
git log --oneline HEAD~1
422daec Add pear
7b425d8 Add apple
Az eredményben nem látjuk viszont az utolsó commitot, csak az előtte lévőket.
Az 1-s elhagyható:
git log --oneline HEAD~
422daec Add pear
7b425d8 Add apple
Ha a két utolsó commitot szeretném elhagyni:
git log --oneline HEAD~2
7b425d8 Add apple