[[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