Rebasing
Az új alapozás lehetővé teszi, hogy a véglegesítési előzmények módosításával az egyik ágból a másikba beépítse a változtatásokat. Visszajátssza a commitokat a forrás ágról a cél ágra. Ez tisztább és lineárisabb végrehajtási előzményeket eredményez.
Példa: Tegyük fel, hogy van egy szolgáltatási ága feature-branch
, és szeretné beépíteni az main
ág legújabb módosításait. A következő parancsot használhatja:
git checkout feature-branch
git rebase main
Ez alkalmazza az main
ágból a véglegesítéseket a következőre feature-branch
. Az esetleges ütközéseket az újraalapozási folyamat során meg kell oldani.
Stashing
A tárolás lehetővé teszi a jelenlegi módosítások mentését, amelyek még nem állnak készen a véglegesítésre, és ideiglenesen visszatérhet egy tiszta munkakönyvtárba. Ez akkor hasznos, ha másik ágra kell váltania, vagy egy másik szolgáltatáson kell dolgoznia anélkül, hogy végrehajtaná az éppen folyamatban lévő változtatásokat.
Példa: Tegyük fel, hogy egy szolgáltatási ágon dolgozik, és végrehajtott néhány változtatást, de át kell váltania egy másik ágra. A módosítások elrejtéséhez a következő parancsokat használhatja:
git stash
Az új ágra váltás után alkalmazhatja a rejtett módosításokat a következő módon:
git stash apply
Git Hooks
Git Hooks
olyan szkriptek, amelyeket meghatározott Git-események indítanak el, például előzetes véglegesítés, utólagos véglegesítés, előzetes leküldés stb. Lehetővé teszik bizonyos műveletek automatizálását vagy meghatározott szabályok érvényesítését a munkafolyamatban.
Példa: Tegyük fel, hogy egy lintert szeretne futtatni a kódon a véglegesítés előtt. Létrehozhat egy pre-commit hook szkriptet, amely kiváltja a lintert, és megakadályozza a véglegesítést, ha bármilyen linting hiba van.
Git Submodule
Git Submodule
lehetővé teszi, hogy egy másik Git-tárat alkönyvtárként vegyen fel a fő tárhelyen belül. Ez akkor hasznos, ha olyan projektje van, amely külső könyvtáraktól vagy összetevőktől függ.
Példa: Van egy projektje, amely egy adott könyvtárat igényel. Ahelyett, hogy megkettőzné a könyvtár kódját a tárolóban, hozzáadhatja almodulként. Így külön tarthatja a könyvtár kódját, és szükség esetén könnyen frissítheti.
Git Revert and Git Reset
Git Revert
visszavon egy korábbi véglegesítést egy új véglegesítés létrehozásával, amely visszavonja az eredeti véglegesítésben végrehajtott változtatásokat. Git Reset
Ezzel szemben lehetővé teszi az elágazás mutatójának áthelyezését egy másik véglegesítésre, hatékonyan elvetve a véglegesítéseket a véglegesítési előzményekből.
Példa: Ha vissza akarja vonni az utolsó véglegesítést, akkor a segítségével létrehozhat git revert HEAD
egy új véglegesítést, amely visszavonja az utolsó véglegesítés során végrehajtott változtatásokat. Ha teljesen el akarja vetni az utolsó véglegesítést, használhatja git reset HEAD~1
az elágazás mutatóját egy véglegesítéssel visszamozgathatja.
A Git ezen fejlett koncepciói hatékony képességeket biztosítanak a tár hatékony kezeléséhez. Ha megérti, hogyan és mikor kell alkalmazni őket, az nagyban javítja a Git munkafolyamatát és a projektmenedzsmentet.