Szél Péter

A Git bizony egy kicsit tüskés tud lenni elsőre – talán másodikra is :) Állítólag Windows alatt nehézkes a használata; erre szeretnék most rácáfolni. Olvass tovább, hogy megtudd, hogyan szelídítheted meg a Gitet Windows alatt. (A tippeket egy jó része más oprendszereken is alkalmazható.)

Telepítés

Már a telepítés pillanatában fontos, hogy kiválasszuk a megfelelő opciókat a kényelmes használathoz:

NE nyúlj hozzá a windows shellhez

Én utálom, ha egy program beletelepszik a jobb-klikkes menübe (lévén milyen fontos), a végén pedig olyan hosszú lesz a lista a felesleges elemek miatt, hogy nem fogom megtalálni, amit épp keresnék. Így a Gitnek sem engedem ezt meg:

Úgy sem fogom használni a beépített GUI-t (mert béna), sem a basht (erről a következő fejezetben).

Viszont legyen benne a PATH-ban:

Mivel Powershellből szeretném használni.

Vége a gonosz sorvégeknek

Ha a csapat egy része Unix alapú rendszeren dolgozik, a másik része pedig Windows alatt, akkor feltétlenül állítsuk be a sorvégek automatikus átalakítását:

Ezzel a beállítással elég sok jövőbeli szívástól kíméled meg magadat.

Power Git

Szeretem a basht – Linux alatt. Viszont Windowson mindig is furcsának hatott, egyszerűen idegen és csak egy lebutított változata érhető el, ezért elég hamar átálltam Powershellre.

Posh Git

Powershellhez pedig van egy nélkülözhetetlen kiegészítő Githez, ez a Posh Git. Két fő funkciót szállít:

Tab kiegészítés

Elég leírni a Git utasítás első néhány karakterét, majd megnyomni a [TAB] billentyűt és az utasítás kiegészül:

Git állapot a promptban

Amint egy olyan könyvtárba lépsz, amely Git repot tartalmaz, megjelenik annak állapota a Promptban:

A fenti képen például azt látom a parancssoromban, hogy van egy új fájl, és egy, ami módosult. (Igen, a színek finoman szólva sem felelnek meg az akadálymentesítés szabályainak, itt egy leírás, miért: https://github.com/dahlbyk/posh-git/issues/72#issuecomment-12052855)

SSH Agent elindítása

A Posh Git automatikusan elindítja az SSH Agentet (ha még nem fut), ami megjegyzi a jelszavad, így elég egyszer begépelni, nem fog minden egyes alkalommal feljönni a kérdés.

Telepítés

A telepítés nagyon egyszerű, részletes leírás a weboldalukon található: https://github.com/dahlbyk/posh-git

Dióhéjban:

PS> git clone git@github.com:dahlbyk/posh-git.git  
PS> .\posh-git\install.ps1  

Ettől a ponttól kezdve, ha elindítasz egy Powershellt a Gites mappában, aktiválódik a Posh Git. Szép :)

Szövegszerkesztő gyors elérése

Én a Notepad++-t szeretem használni, így szeretném azt gyorsan elérni parancssorból is, ehhez egyszerűen fel kell venni a C:\Program Files (x86)\Notepad++ könyvtárat a Pathba.

Innentől kezdve egyszerűen tudom szerkeszteni a fájlokat, pl.:

notepad++ filenev  

Ezt természetesen bármely kedvenc szövegszerkesztőddel megteheted.

Mi a kedvenc szövegszerkesztőd? Írd meg lent hozzászólásban!

Aliasok

Powershell

A Powershellnek elég hosszú neve van, én azt szeretném, ha annyit beírva, hogy ps induljon. Ehhez létrehozok valahol a Pathban (célszerűen a C:\Windows\System32\WindowsPowerShell\v1.0 mappában, ahol a Powershell is lakik) egy ps.bat nevű fájlt egy egyszerű tartalommal:

@echo off
powershell.exe -NoExit -Command "cd %1"  

Ha most beírom a windows explorer címsorába, hogy ps, már indul is, méghozzá abban a mappában, ahol voltam:

Ha nem fontos a mappa, akkor egyszerűen csak lenyomom a Windows gombot, beírom, hogy ps, és enter leütésére már indul is a Powershell. Kényelmes, nem?

[Win] -> ps -> [Enter] -> magic

Nem szeretek gépelni

Így felveszek a gyakran használt programokhoz Powershell Aliast, ehhez a $Profile-t file kell szerkeszteni, ami lényegében egy Powershell script, ami a shell minden indulásakor lefut:

PS> notepad++ $PROFILE  

Írd a fájlt elejére:

Set-Alias g git  
Set-Alias npp notepad++  

Mostantól a Git utasításokat elég g betűvel kezdeni, nem kell kiírni azt, hogy git. Igen, apróságnak látszik, de ha naponta több százszor adod ki az utasítást, rájössz mekkora érték is ez :)

Git aliasok

Tovább folytatva a 'nem szeretek gépelni' gondolatmenetet, a gyakran használt Git utasításokhoz felveszek egy-egy aliast, ehhez a személyes Git konfigurációs fájlt kell szerkeszteni:

PS> npp ~\.gitconfig[TAB][Enter]  

A Tab billentyű lenyomására a ~ karakter átalakul a HOME könyvtáradra, jó kis trükk, mi? :)

Add hozzá a fájlhoz:

[alias]
    ci = commit
    st = status
    br = branch
    co = checkout
    df = diff
    lg = log --graph --pretty=format:'%C(yellow)%h%Creset -%C(auto)%d%Creset %s %C(auto)(%cr) %C(bold cyan)[%an <%ce>]%Creset' --abbrev-commit --date=relative
    who = shortlog -s --
    unstage = reset HEAD --

Git status lekérdezése: 3 karakter

PS> g st  

Így már szeretem :)

Van egy kedvenc aliasod, ami kimaradt? Írd meg hozzászólásban!

SSH beállítása szuper-egyszerűen

Elég sok fejfájást szokott okozni az SSH beállítása windows felhasználóknak, pedig pofon egyszerű, íme, néhány egyszerű lépéssel működésre lehet bírni:

1. Git Bash indítása (most az egyszer)

[Win + R] -> "C:\Program Files (x86)\Git\Git Bash.vbs"

2. Kulcspár generálása

$ ssh-keygen

Az összes kérdést hagyd üresen, nyomj simán entert. (Igen, így bizony, ha valaki feltöri a gépemet, hozzáfér a Githez is – mivel a forráskód eleve a gépemen van, amúgy is hozzáfért volna.)

3. Publikus kulcs feltöltés

A Home könyvtáradban létrejöttek a kulcsaid; egy privát és egy publikus. Nincs más dolgod, mint megnyitod a publikusat egy szövegszerkesztővel

PS> npp ~\.ssh\id_rsa.pub[Tab][Enter]

Ctrl + A  
Ctrl + C  

és a tartalmát bemásolod a Git menedzsment felületre (GitHub/BitBucket/Stash/GitLab), amit használtok. Mindenhol az account beállításoknál lesz egy olyan menüpont, hogy "SSH keys".

Készen is vagy :)

+1 Ha mégis a HTTPS mellett döntesz

és nem szeretnéd minden egyes utasítás után bepötyögni jelszavadat, akkor használd a Credential Storet, ami megjegyzi neked az első alkalom után.

GUI

Elértünk egy kritikus ponthoz; akárhányszor tartottam Git tréninget, mindig a legelső kérdések között szerepelt, hogy akkor ma nem is fogunk GUI-s felületet tanulni Githez?

A válaszom mindig az, hogy nem. Na nem mintha ne lenne pár jó és használható felület – sokkal inkább azért, mivel azt tapasztaltam magamon, hogy a parancssoros felületről könnyebb megtanulni a Git logikáját, valamint hosszú távon sokkal hatékonyabb munkát biztosít.

De én szeretem a GUI-t, Peti!

Tudom, én is. :) Itt van két – általam kedvelt – GUI Githez:

GitExtensions

Kedvenc eszközöm Githez: http://sourceforge.net/projects/gitextensions/

A neve ne tévesszen meg, nem csak Visual Studio extensionről van szó, hanem egy önálló alkalmazást is kapunk a telepítéshez.

Amit szeretek benne:

Commit előtti felület

ahol végig tudom nézni egyesével a változásokat, diffel együtt:

Bónusz:

  • Helyesírás ellenőrzés a commit message-hez (szuper hasznos)
  • Profil képeket betölti a Gravatarról
Blame ablak

Hasznos, hogy egyszerre böngészhetem a commit történetet és nézhetem ki végezte a módosításokat, így együtt látom a módosítást és az üzeneteket, amelyből könnyebben összeáll a költő szándéka:

SourceTree

Jira, Confluence, BitBucket – az Atlassiant senkinek sem kell bemutatni. Az sem meglepő, hogy ők szállítják az egyik legjobb Git felületet, a SourceTreet.

Lényegében minden funkciót támogat, mint az előbb bemutatott alkalmazás, viszont mindent egy kicsit más logikával érhetsz el. Érdemes mind a kettőt kipróbálni és azt használni, amelyiket kényelmesebbnek találod.

A Git a barátod

Ahogyan a fentiekből is látható, Windows alatt is legalább olyan kényelmesen lehet használni a Gitet, mint Unix alapú rendszerekből. Minden szükséges eszköz a rendelkezésedre áll, csak ki kell aknáznod a lehetőségeket! :)

Persze ez csak az én véleményem, ha máshogy gondolod, írd meg hozzászólásban! Ha pedig hasznosnak találtad a bejegyzésemet, oszd meg az alábbi gombok segítségével! :)