Git kliens konfigurálása Mac-en és Windows-on

By | 2013. január 12.

Az előző post-ban a Git szerver telepítésének menetét mutattam be, valamint létrehoztunk egy test nevű repo-t. Most azt nézzük meg, hogy hogyan tudjuk a kliens gépünket működésre bírni a szerverrel.

Windows

Első nekifutásra, töltsük le a Git klienst innen:

http://git-scm.com/download/win

Amikor ez a post íródik, a jelenlegi verzió az 1.8.0. A telepítés tökéletesen egyszerű, a next-next-finish technikát követve lépkedjünk végig és telepítsük fel. A biztonság kedvéért mellékelek pár képernyőmentést a fontosabb lépésekről.

Lépjünk be a Git Bash-be:

Sokan összekeverik ezt a Windows parancssor ablakával. Ez NEM AZ! :)

Mac

Töltsük le a klienst innen:

http://git-scm.com/download/mac

A jelenlegi verzió 1.8.1. Indítsuk el a DMG file-t, majd a git-1.8.1-intel-universal-snow-leopard.pkg telepítőt futtasuk le. FIGYELEM! Ez tökéletesen megfelelő a 10.7.x és 10.8.x verziónál is OSX-nél! A telepítő neve megtévesztő!

A GUI-t pedig innen:

http://mac.github.com/

Figyelem! A GitHub GUI csak 10.7 és újabb rendszereken fog futni! Akinek régebbi, pl. Snow Leopard rendszere van, annak javaslom a SourceTree programot. Szintén ingyenes, nagyon sokat tud és nem utolsó sorban, szép, ízléses a felülete. :)

Ha feltelepítettük őket, akkor indítsuk el a GitHub programot és a GitHub menüből biztonság kedvéért telepítsük a Command line Utility-t (Install Command Line Utility…). Ez után állítsuk be az adatainkat (név és email cím) a Preferences… menüben.

SSH kulcs generálása

Az alábbi lépések szinte teljesen megegyeznek a Windows és Mac rendszereken. Az egyetlen különbség nyilván az útvonalkezelés. A példa a Windows-os útvonalat mutatja. Pontosítanék! Mac-en nincs külön Git Bash, hanem egyszerűen csak egy Terminal-t kell elindítani.

Lépjünk be a gépünk SSH kulcsokat tároló könyvtárába, ami a felhasználói fiókunkban van, ha létezik:

cd ~/.ssh

Ha nem létezne, hozzuk létre. Ez után nézzük meg, hogy van-e már valami generált kulcsunk.

ls

Amennyiben van id_rsa kezdetű file vagy file-ok a könyvtárban, akkor mentsük el egy könyvtárba és töröljük le innen őket:

mkdir key_backup
cp id_rsa* key_backup
rm id_rsa*

Hozzuk létre az új RSA kulcsunkat (értelemszerűen a saját email címünkkel):

ssh-keygen -t rsa -C "your_email@youremail.com"

Ekkor a „Generating public/private rsa key pair.” üzenetet kapjuk, majd egy kérdést, hogy hova generálja majd a kulcsot:

Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

Nyugodtan nyomhatunk egy enter, így majd a jelenlegi könyvtárba hozza létre, ami az .ssh

Ezek után következik egy újabb kérdés, hogy mit szeretnénk passphrase-nek. Ha szeretnénk jelszót, írjunk be, de akár hagyhatjuk üresen is egy enter-rel:

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

Ha ezzel megvagyunk, elkezdődik a generálás, aminek a végeredménye valami hasonló lesz:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@youremail.com

Publikus kulcs elhelyezése a NAS-on

Most az elkészült id_rsa.pub file-t át kell másolni a NAS-ra. Ezt megtehetjük egy tetszőleges share könyvtárba. Ez után lépjünk be a NAS-ra SSH-n root-ként és másoljuk a publikus kulcsunkat át a git user home könyvtárába egy .ssh könyvtárba (amit előtte létrehozunk), authorized_keys néven.

mkdir -p /volume1/home/git/.ssh
mv /volume1/ahovafelmásoltadanasra/id_dsa.pub /volume1/home/git/.ssh/authorized_keys

Ha már van ilyen nevű file, akkor csak fűzzük hozzá az új kulcsot. De vigyázzunk, hogy a formátumot megtartsuk és egy szóköz se kerüljön bele feleslegesen!
(Irodalom: http://forum.slicehost.com/index.php?p=/discussion/1846/multiple-authorized_keys-in-authorized_keys-file-newbie/p1)

Adatok beállítása a kliens oldalon

Lépjünk vissza a Git Bash-re és állítsuk be az adatainkat, illetve a szükséges környezeti változókat.

Ezen a néven fogjuk a commit-okat elküldeni a szerverre:

git config --global user.name "Your Name Here"

Ezzel az email-címmel. Ez legyen azonos, amit korábban már megadtunk az kulcsgenerálásnál. Természetesen minden gépen más kulcsot kell generálni, amin más email cím is lehet, de nem kötelező. Tegyük fel, hogy a Windows-os kulcs a munkahelyi gépünkhöz tartozik a munkahelyi email címmel, a Mac-es pedig az otthoni, a privát email címünkkel.

git config --global user.email "your_email@youremail.com"

A következő beállítás lehetővé fogja tenni, hogy a git push kiadásakor nem kell megadnunk paraméterként, hogy melyik branch-re vonatkozzon a művelet. Mindig az éppen aktuálisra lesz értendő, amelyikben éppen állunk a Bash-ben.

git config --global push.default current

Ez a beállítás pedig a merge-ölés során keletkező ideiglenes file-okat fogja törölni, amire nem lesz szükség a későbbiekben.

git config --global mergetool.keepBackup false

Repository klónozása NAS-ról a lokális gépünkre

A példa ismét Windows-os útvonalakat használ!

Lépjünk a C: meghajtó gyökérkönyvtárába, majd hozzunk létre egy git nevű könyvtárat és lépjünk bele (amúgy tetszőleges helyen is létrehozhatjuk, tetszőleges néven):

cd c:
cd /
mkdir git
cd git

Töltsük le a test repo-t a gépünkre, avagy klónozzuk.

git clone ssh://git@nasIPcímeVagyNeve/volume1/git/test

vagy

git clone git@nasIPcímeVagyNeve:/volume1/git/test

Ha minden jól megy, A következő vagy hasonló üzenetet kapjuk:

Initialized empty Git repository in /data/t/.git/
Cloning into 'test'...
warning: You appear to have cloned an empty repository.

Yeah! Készen vagyunk, sikerült! A gépünkön van a test repo-nk! :)

A következő post-ban a merge-höz szükséges 3rd party programot konfiguráljuk be, ami lényegesen egyszerűbbé teszi az életünket. :) Érdekel? Kattints!

P4Merge telepítése és konfigurálása

 

Hasonló cikkek

3-way merge tool Git-hez – P4Merge Aki már dolgozott verziókövető rendszerekkel, tudja, hogy amikor kódot írunk, ráadásul nem egyedül, hanem csapatban fejlesztünk, óhatatlan, hogy egy m...
Hogyan csináljunk videót képekből Windowson Adott egy könyvtár, amiben van több száz alkönyvtár, amelyek mindegyikében van több ezer jpg kép. Ezekből kellene videót gyártani... automatizáltan......
Mac és az RDP esete Újabb OSX probléma. Bár ez azóta probléma számomra, amióta Mac-et (is) használok... De kezdjük az elején. Régebben, amíg csak Windows-on dolgoztam ott...
Total Commander alternatíva OS X-en Amióta meglett a MacBook Pro-m, azóta van pár olyan dolog, ami konstans küzdést jelent az OS X világában egy Windows-on nevelkedett geek számára, jele...