Git 5 percben

Nemrégiben elkezdtük használni fejlesztésre a Git verziókezelő rendszert. Úgy gondoltam, egy ötperces gyorstalpaló formájában leírom ide a Git beüzemelését Windowson a legfontosabb parancsokkal. Ez nyilván nem helyettesít semmilyen dokumentációt, de az elinduláshoz elég lehet :)

Telepítés

A Git legfrissebb verzióját letöltheted a http://git-scm.com/ oldalról. A Windowsos változat jelenleg msysgit névre hallgat. A programot az alapértelmezett beállításokkal telepítettem. Az egyetlen dolog, amire érdemesebb külön figyelmet fordítani, az az, hogy - amennyiben a gépen van PuTTY telepítve - képes annak a kulcskezelőjét használni az SSH kulcsok tárolására. Ezt érdemes lehet használni, mivel az SSH kulcs lehetővé teszi, hogy ne kelljen minden műveletnél bepötyögni a jelszót.

Alapbeállítások

Telepítés után a Start menübe kerül egy Git parancssor Git Bash néven. Azt elindítva egy hagyományos parancsértelmezőt kapunk, ugyanolyant, mint a Linuxról ismerős Bash (éppen ezért ugyanazok a parancsok - ls, pwd, stb. - ugyanúgy működnek is). Az első dolgunk telepítés után az, hogy megadjuk a Git-nek a nevünket és az e-mail címünket, valamint (ez opcionális) engedélyezzük a kimenet színezését a konzolban. Ezt a Git Bash ablakban kiadott alábbi három paranccsal teheted meg:

git config --global user.name 'Béla Kiss'
git config --global user.email 'belakiss@example.com' 
git config --global color.ui auto

A --global kapcsolóval megadott beállítások mindenhol érvényesek lesznek. Ha szeretnéd, egy-egy adott tárolónál ez felülírható, ha a tároló könyvtárába belépsz és a git config-gal átállítod őket - ebben az esetben a --global-t mellőzni kell.

Tároló klónozása

Ha a forráskódot egy Git tárolóból letöltöd a gépedre, a Git nem csak az aktuális kódot tölti le (mint pl. az SVN), hanem a kód egész történetét, így például az időbeni változtatásokat (logot) bármikor meg lehet nézni anélkül, hogy a távoli géphez csatlakozni kéne. Ez a Gittel való munkát rendkívül gyorssá teszi. Ebből az okból úgy mondjuk, hogy "klónozzuk" a tárolót, mint brit tudósok a kukoricát, és a git clone parancsot használjuk:

Tároló klónozása

A git clone létrehoz egy új könyvtárat a tárolónak, amiben megtalálhatod a fájlokat. A fenti képen látszik, hogy meg kellett adnom a jelszavamat, ez azért van, mert nem állítottam be SSH kulcsot. Ha időközben változás állna be a netes (távoli) tárolóban, az újdonságokat a git pull paranccsal lehet lehúzni. Mivel a tárolót ebben a pillanatban klónoztuk, a git pull parancs nem csinálna semmi látványosat.

A fájlok módosítása és közzététele

Most, hogy van egy helyi változat a tárolóból, a fájlokon dolgozhatunk (módosíthatjuk, javítgathatjuk), amihez az eddig megszokott szerkesztőprogramokat lehet használni. A Git nyomon követi a tároló könyvtárát, és automatikusan felismeri a megváltoztatott fájlokat.

Fájlok követése

Tegyük fel, hogy kijavítottunk egy hibát, és szeretnénk beküldeni a javítást a távoli tárolóba. A git status parancs a képen mutatja, hogy az egyik fájlt módosítottuk, de nincs felvéve a beküldendő (commitolandó) változtatások listájára. Segítséget is nyújt: a git add fájlnév paranccsal hozzáadhatjuk a commit-listához, a git checkout -- fájlnév paranccsal pedig visszaállíthatjuk a fájl eredeti állapotát (arra az esetre, ha elszúrtunk volna valamit).

A fájlnevet nem kötelező begépelni, a git add --all az összes változtatást hozzáadja a commitolandó listára.

Commitolás

Ha a git add után futtatjuk újra a git status parancsot, akkor írja, hogy a fájl módosított és commitolva is lesz (szintén írja a segítséget arra az esetre, ha elszúrtunk valamit és ki szeretnénk venni egy fájlt a commit-listából). Ezután a git commit parancs segítségével commitolhatjuk a módosításunkat. A -m paraméter után szöveges formában meg kell adni a commithoz tartozó üzenetet. Például: git commit -m "Mostantól nem omlik össze a programom". Ha a fájlt a git add után, de még a commit előtt újra módosítottuk, akkor a git add-ra újra szükség van!

Ezzel a változtatások még csak a saját tárolónkba kerültek bele, ha ezt másoknak is közzé szeretnénk tenni, akkor a git push paranccsal fel kell "tolni" a szerverre. Ehhez természetesen megfelelő jogosultságra és egy jelszóra vagy SSH kulcsra van szükség:

Git Push

Mások munkájának letöltése

A verziókezelő rendszerek legfontosabb előnye (azon kívül, hogy a netre feltöltött fájlok csak elég ritkán vesznek el) az, hogy több ember is dolgozhat a kódon. Így előfordulhat, hogy rajtunk kívül más is módosítja azt. A változásokat a távoli tárolóból a git pull paranccsal szedhetjük le. Például most, hogy beküldtük a fenti javítást, azt egy másik gépen másvalaki az alábbi módon töltheti le magának:

Git Pull

Fontos, hogy a git push-sal nem küldheted be a módosításokat a távoli tárolóba addig, amíg a legfrissebb változtatásokat le nem szedted onnan!

Git Napló

A legutóbbi commit-üzeneteket a git log paranccsal lehet megtekinteni. Megadhatod azt is, hogy hány üzenetre vagy kíváncsi a git log -n paranccsal, ahol az n helyébe a kívánt számot írd.

Linux?

Linuxon a Git verziókezelő rendszer működése megegyezik a fent leírtakkal, azzal a különbséggel, hogy a git-et a csomagtárolókból egyszerűen telepíthetjük az apt-get install git parancs kiadásával (természetesen a telepítéshez szükséges parancs disztribúciónként más lehet)

Hozzászólások

sumo képe

Köszönjük a leírást!

Ezen felbuzdulva közben írtam én is egy szösszenetet a Git egy másik felhasználásáról, megtekinteni itt lehet: http://sumo.4242.hu/node/15

Az itt található anyagok a digitális szabadság jegyében a forrás és az elérhetőség linkjének megjelölésével szabadon felhasználhatók, idézhetők. Jelen honlap üzemeltetői mindemellett fenntartják az itt elérhető tartalom összes szerzői jogát. [Kapcsolat]
© Elite Hub, 2002-2012 - A Drupal motor hajtja - Valid XHTML