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

Synology NAS, home share és az MS Office for Mac e... A probléma Nem lehet megnyitni OSX-en a Synology NAS felhasználó privát megosztásából (home share) semmilyen Microsoft Office for Mac 2011 file-t. Se...
Windows 7 Update Öröm az ilyen képernyő reggel, éhgyomorra... Sebaj! Ettünk még egy pirítóst addig.  :-)
NodeJs + Express és a HTTPS Előfordulhat, hogy szükségünk van egy SSL-es webszerverre a NodeJs-es környezetünkben. Ugyebár webszervert Express-szel a legegyszerűbb készíteni, ami...
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...