Alapsztori: Windows user szeretne Git-et használni, GitHub-ról leszedegetni cuccokat, esetleg saját repót létrehozni, más projektekből leágazni. Mit csináljon? Hol kezdje? Tegyük fel, hogy a user túl van már az elosztott verziókezelő rendszerek alapjainak megismerésén, esetleg találkozott már másik elosztott verziókezelő szoftverrel, pl. Mercurial-lal.
Az általam ismert opciók:
- Cygwin + Git - de ha csak a Git alapműveleteire van szükség, nem pedig egy teljes Unix shell szimulációjára, ez ágyúval verébre megoldás.
- TortoiseGit - A TortoiseSVN portolása Git-re.
- Létezik egy Git for Windows nevű szoftver, ami viszonylag kényelmesnek tűnő integrációt nyújt, de van némi keveredés a program elnevezése körül. Installáltam, könnyű volt, de kérdezett meglepő dolgokat, pl. hogy hogyan akarom kezelni a sorvégeket, promtból vagy Gui-ról akarom majd inkább használni. Mit tudom én, leginkább is-is. Itt is van egy 5 perces videó az installálásról és az alapvető használatról.
- Aki tényleg csak a GitHub-on akar nyomulni, annak a GitHub for Windows lesz az ideális megoldás, ami nem is egy régen indult történet. Itt is van róla egy pozitív hangvételű rövid angol nyelvű cikkecske. A kommentekből kiderül, hogy nem csak GitHub-ra lehet használni, hanem másik tetszőleges Git repó-ra is, mivel ez egy közönséges Git kliens.
Mivel rám főleg az utolsó pont vonatkozik, a GitHub for Windows-sal fogok foglalkozni. Vágjunk is bele. A honlap kicsit szét van csúszva, de sebaj. Egy 700kb-os exe-t kell letölteni, amit online kell indítani, mert sokmindent le akar tölteni még a netről. Pl. nulladik lépésben 4-es .net-et installál, ha nincs a gépen.
Sikeres kicsomagolás után azonnal kérne is egy GitHub-os loginnevet és jelszót. Lehet cancel-t nyomni és később megadni, de nem sok mindent lehet csinálni nélküle. (Semmit.) Egy ingyenes account-tal korlátlan mennyiségű open source repót lehet csinálni. Ezután a legolcsóbb csomag 7 dollár per hó, amiben 5 privát repó lehet. (A BitBucket-nél az ingyenes csomagban benne van a privát repó is.)
Az account létrehozása után a háttérben publikus és privát kulcsok is készülnek automatikusan, amiről email jön. Örvendetes, hogy a kulcs létrehozásával nem kell foglalkozni. Ezután csodálatos módon a GitHub repókon lévő Clone on Windows gombok nem a GH4W (GitHub for Windows rövidítése) honlapra visznek, hanem egy dialógusablakot nyitnak meg, amiben egy kattintással klónozhatjuk a repót a saját gépünkre.
A Metró stílusú alkalmazásban rögtön böngészni is tudjuk a klónozott repót. History-t, diff-eket lehet nézegetni. Meg lehet szüntetni a repo követését és (kézzel, az alkalmazáson kívül) nyom nélkül törölni a fájlokat. Ki lehet nyitni explorer vagy konzol ablakot a kiválasztott repón.
Közkívánatra pár kép: A vanilla egy open source Android music player egyébként, a HelloWorld pedig az én kreálmányom. A README.md a Vanilla readme-je. Ez jelenik meg alapból a felületen.
Böngészgetés, diff-nézés:
Beállíások, konzol nyitási lehetőségek: Ha valami nem jó, az update gomb letiltódik különösebb magyarázat nélkül.
Lokális repót úgy lehet készíteni, hogy létrehozunk egy könyvtárat, majd egy Git Shell-ben (kinn van a macskás ikon a desktopon) belenavigálunk és kiadjuk a git init parancsot. Ezután a könyvtárat be lehet draggelni a GitHub alkalmazásba.
Tényleg mutatós a GitHub alkalmazás, de én otthonosabban érzem magam a konzolban, úgyhogy inkább ott dolgozom. Ennek fényében pár alap parancs. Mercurial felhasználókat nem fog halálos meglepetés érni:
- git status -sal lehet lekérdezni a repo állapotát, azaz hogy melyik fájlok az újak, melyek vannak már hozzáadva a repo-hoz, melyek változtak.
- git add Ezzel lehet hozzáadni fájlokat, könyvtárakat. Ha valamit ignorálni akarunk, azt a .gitignore fájlba kell beírogatni. A .gitignore fájlot is hozzá kell adni a repo-hoz. Itt van egy rövid angol írás a gitignore bejegyzések szerkezetéről. A példák angol tudás nélkül is érthetőek. Illik egy README.md fájlot is létrehozni, amibe Markdown formátumban lehet beleírogatni. A Markdown-tól nem kell megijedni, igen kézreálló.
- git commit -a commitolás. Kinyit egy szerkesztőablakot, ahol be kell írni a commit commentet. A Commitolás elég kényelmes egyébként a GUI-ból is. Commit-oláshoz a beállításoknál muszáj megadni teljes nevet és emailcímet, ha még nincs.
- git push Egy commit set-et ezzel lehet felküldeni a szerverre. A GUI-ból kő egyszerűen meg lehet osztani egy projektet a GitHub-on és a push-t is egyszerű (publish-nak hívják).
- git fetch Távoli repóból cuccok leszedése, de a GUI is kiválóan megcsinálja.
- git help Kilistázza a többi gyakran használt parancsot.
Az igazán hasznos dolgok, mint pl. a branch-ek kezelése még csak ezután jönnének, de kezdésnek azt hiszem egyelőre elég ennyi. Az IDE integrációval kapcsolatban sem ártana futni egy-két kört. Jó lenne a kedvenc IDE-mből commit-olni, diff-eket nézni és látni hogy mely fájlok változtak. Talán majd erről is írok valamikor.
Első kipróbálásra nagyon pozitív a véleményem a GitHub for Windows alkalmazásról. Hogy a Git-ről mi a véleményem, az egy másik történet. Nem rossz, de nem fogom azonnal portolni az összes Hg projektemet Git alá.