Van ez a kicsit kereklámpás szemüveges, kicsit joviális arcú programozó. Linus Torvalds. Mikor megunta, hogy a kedvenc
játékának a fejlesztéséhez nincs
megfelelő szervezőeszköz, akkor írt egyet magának. Ez lett mára a
git.
Ez egy DVCS. Distributed Version Control System. Ennek a hagyományos VCS-ekkel szemben az az előnye, hogy látszólag kicsit több tárhely és sávszélesség felhasználásával minden fejlesztő számára elérhető a teljes forráskód/adat
tárház, a teljes történelmével együtt. Tehát, nem csak egy pillanatfelvételt, egy snapshotot, egy instanciát, egy instance-t, egy simple copy-t kapunk, hanem egy folyamatlenyomatot, vissza tudjuk követni minden bájtról, fájlról, könyvtárról, (és a git-ben szövegdarabokra is kereshetünk, tehát mondjuk egy változó nevére) hogy mikor került be a
repóba, és mik történtek vele, amik végül azt eredményezték, amit épp szemlélünk.
A git pofonegyszerű. Alapvetően linuxra tervezett, de
windózra is portolt kacat. Linuxon simán egy [code]sudo apt-get install git[/url], windózon ugye letöltjük a pakkot, és telepítjük, kattingatunk, kicsit-nem-észnélkül azért. Mindenképpen hagyjuk, hogy beletelepüljön a
context menübe (jobb-egérgombra előgyüvő lehetőségek).
Akkor tipikus dolgok, amiket az ember szoftverfejlesztés során szokott/akarna csinálni.
Új repo létrehozása
Windóz alatt a dolog úgy néz ki, hogy csinálunk valahol egy könyvtárat és azon jobb klikk és
Git BASH Here
Linuxon viszont
mkdir valami
majd
cd valami
git init
Csináljunk egy fájlt, akár jegyzettömbbel, akár Notepad++-szal, akár Kate-tel, KDE alatt, vagy bármilyen egyéb editorral GNOME alatt. Egyéb asztalkezelőket használók meg menjenek kerneltforgatni. Ebbe a fájlba írjunk is valamit.
Majd felvesszük ezt az új fájl a repónk
fájába. Innentől kezdve a git majd minden a repóra kiadott parancsnál, ha másképp nem rendelkezünk, ezt a fájlt is megnézi, hogy módosult-e, kell-e vele valamit csinálni, ép-e még, megvan-e még, stb.. (ugye értelem szerűen a parancstól függően csinál vele valamit)
git add uj-fajl.txt
Akkor eddig volt egy fájlunk, csak úgy. Mentsük is el a változtatásokat, amik a repo-n történtek.
git commit -m "kisesszé arról, hogy mit modosítottunk legutóbbi commit óta"
Ha szeretnénk "publikálni" a változtatásainkat, akkor egyszerűen csak áttoljuk másnak a fánkat.
git push git-felhasznalo@az.en-szerverem.com:git-repok/tibi.git
A git okos jószág, csak a különbségeket küldi át a hálózaton, és azokat is tömörítve. Sokkal gyorsabb mint a CVS, SVN ilyen szempontból.
Most viszont megyek, alszok, mert már ~2 napja nem sikerült. Ahogy a Numerikus Módszerek 2 vizsgám sem. De nem csüggedünk! Lesz még itt majd minden jó, mint pl. hogyan csináljunk egy "git szervert", hogyan izéljünk
ilyet magunknak, hogyan kell megoldani a jelszó mentes push-pull folyamatot, hogyan szarjunk sünt, és még más hasonló egyszerűségek. Aztán majd egyszer, ha én is megértettem, és használni is tudom, írok az fejlesztési ágak kezeléséről, a köztük felmerülő ütközésekről, és azok feloldásáról (branch, rebase, checkout, merge).
Addig is, ha nagyon kíváncsi fáncsi valaki: 20 alap parancs
bemutatása, git
hosztolása,
okosságok forrása, github-os
tutorial (github nagyon jó-hasznos oldal, muszáj kiemelnem),
távoli repó.