Git

Mi a különbség a „Git Reset” és a „Git Reset -Hard” között?

Mi a különbség a „Git Reset” és a „Git Reset -Hard” között?

A Git köztudottan a legnépszerűbb verziókezelő rendszer. A verziókezelés koncepciója akkor válik jelentősvé, amikor csapatmunkáról és együttműködésről beszélünk. Például, ha egy projekten több alkalmazott dolgozik, akkor az adatok konzisztenciája fontos kérdés, amelyet meg kell oldani. Nem feltételezheti egyszerűen, hogy az egyik alkalmazott által végrehajtott változtatásról automatikusan értesítést kapnak a projekten dolgozó összes többi alkalmazott. Ehelyett megfelelő mechanizmusnak kell lennie az adatok konzisztenciájának biztosításával.

Most, ha verzióvezérlő szoftverről vagy rendszerről beszélünk, akkor amint a neve is mutatja, fő feladata a verzióelőzmények nyomon követése. Ez azt jelenti, hogy egy adott fájlban végrehajtott összes változás a fájl külön verziójának tekintendő. A verziókezelő szoftver vagy rendszer lényegében lehetővé teszi, hogy bármikor visszatérjen egy régebbi verzióra, amire szüksége van. Ettől eltekintve, a Git-hez hasonló verziókezelő rendszer azt is biztosítja, hogy a fájlokhoz kapcsolódó változtatások egyenlően láthatók legyenek minden felhasználó számára, akik hozzáférnek ehhez a fájlhoz, hogy véletlenül ne kezdhessenek el dolgozni egy régebbi verzión vagy annak másolatán.

Csakúgy, mint bármely más verzióvezérlő rendszer, a Git is lehetővé teszi számunkra, hogy bizonyos műveleteket végezzünk a rajta feltöltött fájlokkal. Ezenkívül bármikor lehetővé teszi az adott fájlban végrehajtott módosítások visszaállítását a visszaállításával. Ma arra törekszünk, hogy feltárjuk a különbséget a „git reset” és a „git reset -hard” műveletek között.

A „git reset” és a „git reset -hard” közötti különbség megértése

Mielőtt megértenénk a különbséget a „git reset” és a „git reset -hard” műveletek között, tisztában kell lennünk néhány, a verziókezelő rendszerben használt legfontosabb terminológiával. A „fej” a Git-ben mutatóként definiálva van, amelynek feladata az, hogy rámutasson a fájlban végrehajtott legújabb elkötelezettségre vagy módosításra. Az „Index” az összes olyan fájl összessége, amelyet a közelmúltban kötöttek le, és amelyet feltételezhetően ezután követnek el. Végül a „Working Directory” a teljes fájlrendszer fájlkészletére utal, amelyen jelenleg dolgozik.

Miután megismerte ezeket a terminológiákat, most már nagyon könnyű megértenie a különbséget a „git reset” és a „git reset -hard” műveletek között. Mint már említettük, a Git-re feltöltött fájlokon többféle lehetőség is elvégezhető, hasonlóan a „git reset” az alapértelmezett művelet, amellyel visszavonhatja az utolsó elkötelezettséget vagy módosítást, amelyet a aktuális fájl. Ez a művelet öt különböző lehetőséggel rendelkezik, nevezetesen: kemény, puha, összeolvadt, vegyes és megtartható.

Attól függően, hogy milyen opciót választott vagy használt a „git reset” paranccsal, egy másik „visszavonási” szintet fog megkapni. A „git reset -hard” műveletet tekintik a leghatékonyabb műveletnek, ha teljesen meg akar szabadulni az utolsó elkötelezettségtől. Ez azt jelenti, hogy amikor ezt a műveletet végrehajtja, a fájl feje megváltozik, azaz.e., ez már nem az utolsó elkötelezettségére mutat. Nem csak ez, de kitörli az utolsó elkötelezettségét is az indexéből, és megváltoztatja a jelenlegi munkakönyvtárat is.

Másrészt, ha bármilyen más lehetőséget használ a „git reset” paranccsal, mint például a „soft”, akkor ez csak a fejének helyzetét változtatja meg. Ettől eltekintve ez nem hoz semmilyen változást az indexében, és nem változtatja meg a jelenlegi munkakönyvtárát sem. Röviden tehát azt mondhatjuk, hogy a „git reset” parancs, míg a „git reset -hard” annak a változata, amelyet akkor használunk, amikor el akarjuk törölni az utolsó elkötelezettség összes nyomát.

Következtetés

A „git reset” és a „git reset -hard” műveletek részletes magyarázatának áttekintésével ezentúl könnyedén meg tudja majd különböztetni őket. Ez a cikk kitér arra is, hogy melyik opciót kell használnia a „git reset” paranccsal az adott követelményektől függően.

Ingyenes és nyílt forráskódú játékmotorok a Linux játékok fejlesztéséhez
Ez a cikk felsorolja azokat az ingyenes és nyílt forráskódú játékmotorokat, amelyek felhasználhatók 2D és 3D játékok fejlesztésére Linuxon. Számos ily...
Shadow of the Tomb Raider for Linux Tutorial
A Shadow of the Tomb Raider a Tomb Raider sorozat tizenkettedik kiegészítője - az Eidos Montreal által létrehozott akció-kaland játék franchise. A ját...
Az FPS növelése Linux alatt?
Az FPS jelentése Képkocka másodpercenként. Az FPS feladata a videolejátszások vagy játékteljesítmények képkockasebességének mérése. Egyszerű szavakkal...