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:

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.

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.

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:

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:

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!

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)
- fleetcommand blogja
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
- 936 olvasás

Hozzászólások
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