csak egy buta arnyek
Vótmá (eddigi posztok):
We can check your plugins and stuff
2009-06-22 17:08:13
nincs kategoria
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ó.




Milyen nap van ma?

Megkíméljelek egy kis gépeléstől legközelebb?