Ez az oldal a git checkout
parancs vizsgálatát jelenti. Ez a felhasználási példákat és az éles eseteket fedi le. Git-értelemben a “fizetés” a cél entitás különböző verziói közötti váltás. A git checkout
parancs három különálló entitáson működik: fájlokon, véglegesítéseken és ágakon. A “checkout” meghatározás mellett a “checkout” kifejezést általában a git checkout
parancs végrehajtásának jelentésére használják. A Változások visszavonása témakörben azt láttuk, hogy a git checkout
hogyan használható a régi elkövetések megtekintésére. Ennek a dokumentumnak a többségére a fiókokban történő fizetési műveletek fognak összpontosítani.
Az ágak ellenőrzése hasonló a régi elkötelezettségek és fájlok megtekintéséhez, mivel a munkakönyvtár frissül, hogy megfeleljen a kiválasztott ágnak / revíziónak; azonban az új változásokat a projekt előzményei mentik – vagyis nem csak olvasható művelet.
Ágak ellenőrzése
A git checkout
paranccsal navigálhat a git branch
által létrehozott ágak között. Az ág leellenőrzése frissíti a munkakönyvtárban lévő fájlokat, hogy megfeleljenek az adott ágban tárolt verziónak, és azt mondja a Gitnek, hogy rögzítse az adott ágon az összes új végrehajtást. Gondoljon arra, hogy kiválaszthatja, melyik fejlesztési vonalon dolgozik.
Minden egyes új funkcióhoz külön ág tartozik, ami drámai elmozdulást jelent a hagyományos SVN munkafolyamatoktól. Nevetségesen megkönnyíti az új kísérletek kipróbálását a meglévő funkcionalitás tönkretételétől való félelem nélkül, és lehetővé teszi, hogy egyszerre számos, egymással nem összefüggő funkcióval dolgozzon. Ezenkívül az ágak számos együttműködési munkafolyamatot is megkönnyítenek.
A git checkout
parancs időnként összetéveszthető a git clone
paranccsal. A két parancs közötti különbség az, hogy a klón úgy dolgozik, hogy lekérje a kódot egy távoli adattárból, vagy a checkout arra szolgál, hogy váltson a már a helyi rendszeren található kód verziói között.
Használat: Meglévő ágak
Feltéve, hogy a repo, amelyben már dolgozik, már létező ágakat tartalmaz, az git checkout
gombbal válthat az ágak között. Annak megállapításához, hogy milyen ágak állnak rendelkezésre, és mi az aktuális fióknév, futtassa git branch
.
A fenti példa bemutatja, hogyan lehet megtekinteni az elérhető ágak listáját a git branch
parancsot, és váltson egy meghatározott ágra, ebben az esetben a feature_inprogress_branch
.
Új ágak
Git checkout
kéz a kézben működik a git branch
eszközzel. A git branch
parancs képes Ha új funkciót szeretne elindítani, akkor létre kell hoznia egy új elágazást a git branch new_branch
használatával. Miután létrehozta, akkor az git checkout new_branch
használatával válthat az adott ágra. Ezenkívül a git checkout
parancs elfogad egy -b
argumentumot, amely kényelmi módszerként működik, amely létrehozza az új elágazást és azonnal átáll rá. Egyetlen lerakatban több szolgáltatással is dolgozhat, ha a git checkout
gombbal válthat.
A fenti példa egyszerre létrehoz és ellenőrzi a fájlt. A
-b
opció egy kényelmi zászló, amely megmondja Gitnek, hogy futtassa git branch
-et, mielőtt futtatná a git checkout
-et.
Alapértelmezés szerint a git checkout -b
alapja a new-branch
aktuális HEAD
. Egy opcionális további elágazási paraméter átadható a git checkout
címre. A fenti példában átadásra kerül, amely aztán
new-branch
-et alapozza meg a existing-branch
helyett az aktuális HEAD
.
Ágak váltása
Az ágak váltása egyszerű művelet. A következők végrehajtásával HEAD
a .
git reflog
futtatásával megtekintheti az előzményeket.
Git Checkout a Remote Branch
Ha egy csapattal dolgozik együtt, akkor általában a távoli adattárak. Ezeket az adattárakat lehet tárolni és megosztani, vagy lehet egy másik kolléga helyi másolata. Minden távoli adattár saját fiókkészletet tartalmaz. A távoli fiók fizetéséhez először be kell szereznie a fiók tartalmát.
A Git modern verzióiban ezután a távoli fiókot, mint egy helyi fiókot is meg tudja fizetni.
A Git régebbi verziói új ág létrehozását igénylik a remote
alapján.
Ezenkívül kiválaszthat egy új helyi fiókot, és visszaállíthatja azt a távoli ágak utolsó lekötésére.
Leválasztott fejek
Most, hogy láttuk a git checkout
három fő alkalmazását az ágakon, fontos megvitatni a "detached HEAD”
állapot. Ne feledje, hogy a HEAD
Git módja az aktuális pillanatképre való hivatkozás. Belsőleg, a A div> parancs egyszerűen frissíti a HEAD
-et, hogy a megadott ágra vagy a véglegesítésre mutasson. Ha egy ágra mutat, a Git nem panaszkodik, de ha megnéz egy elkötelezettséget, akkor "detached HEAD”
állapotba kapcsol.
Ez egy figyelmeztetés, amely elmondja, hogy minden, amit csinál, “elszakad” a projekt többi fejlesztésétől. Ha el kellett volna kezdeniük egy funkció fejlesztését, miközben leválasztott HEAD
állapotban nem lenne olyan ág, amely lehetővé tenné a visszatérést t o azt. Ha elkerülhetetlenül megnéz egy másik ágat (pl. A funkció beolvasztása céljából), akkor nem lehet hivatkozni a szolgáltatásra:
A lényeg: fejlődésednek mindig egy ágon kell végbemennie – soha nem egy levált HEAD
. Ez biztosítja, hogy mindig legyen hivatkozás az új vállalásokra. Ha azonban csak egy régi elkötelezettséget nézel, akkor teljesen mindegy, hogy levált HEAD
állapotban vagy-e.
Összegzés
Ez az oldal a git checkout
parancs használatára összpontosított az ágak váltásakor. Összegezve: git checkout
ha ágakon használják, megváltoztatja a HEAD
ref célpontját. Használható ágak létrehozására, ágak váltására és távoli ágak fizetésére. A git checkout
parancs a Git szabványos működésének alapvető eszköze. A git merge
megfelelője. A git checkout
és git merge
parancsok kritikus eszközök a git workflows
engedélyezéséhez.