De regulă, instalarea Git se face prin intermediul utilitarelor de gestiune a pachetelor incluse în distribuția Linux:
student@eim2016:~$ sudo apt-get install git
student@eim2016:~$ sudo yum install git
Versiunea curentă este 2.1.4.
Se poate utiliza un client de tipul GitHub for Windows, care este disponibil atât sub forma unei versiuni în linie de comandă (preferabil de utilizat) cât și a unei versiuni care conține o interfață grafică cu utilizatorul.
Versiunea curentă este 3.0.12.
1. se accesează GitHub și se apasă butonul Sign up for GitHub completându-se informații precum numele de utilizator, adresa de poștă electronică și parola
2. se alege planul tarifar implicit, gratuit, care nu oferă posibilitatea de creare de directoare private
3. în panoul de administrare pot fi accesate mai multe legături către tutoriale pentru familiarizarea cu mediul GitHub; prin apăsarea butonului New Repository se poate crea o zonă de lucru corespunzătoare unui proiect
4. la adresa de poștă electronică specificată, va fi transmisă legătura către pagina Internet pentru confirmarea validității acesteia (se apasă butonul Confirm).
5. crearea zonei de lucru implică specificarea unei denumiri, a unei descrieri (opțional), a tipului de director (public sau privat - doar contra cost!!!), a modului de inițializare (local, prin git init
sau la distanță, prin git clone
- ceea ce implică adăugarea unui fișier README
), a fișierelor ignorate (corespunzătoare limbajului de programare folosit) și a tipului de licență sub care este publicat codul sursă
Procesul de configurare Git presupune specificarea unor informații pentru personalizarea acestuia, precum și generarea / utilizarea unor chei SSH (preexistente) pentru autentificarea în cadrul directorului la distanță fără a fi implicate mecanisme de siguranță precum parolele.
Operațiile de personalizare se realizează prin intermediul utilitarului git config
care este livrat împreună cu Git, prin intermediul căruia se stabilesc valorile variabilelor de configurare ce controlează aspecte ce țin de aspectul acestuia precum și de funcționalitatea sa. De regulă, astfel de operații se realizează o singură dată (sunt încărcate în mod automat atunci când sunt realizate actualizări ale sistemului), putând fi reluate însă în caz de necesitate.
Există trei nivele de stocare a variabilelor de configurare, de la general la specific, în funcție de aplicabilitatea acestora:
--system
, acestea fiind reținute în /etc/gitconfig
(pe sistemele Windows, acest fișier este relativ directorului în care s-a realizat instalarea)--global
, acestea fiind reținute în ~/.gitconfig
(pe sistemele Windows, acest fișier este căutat în directorul %USERPROFILE%
).git/config
asociat acestuia.În mod evident, valorile variabilelor de configurare de la un nivel mai specific le suprascriu pe cele de la un nivel mai general.
Variabilele de configurare cel mai frecvent utilizate sunt:
student@eim2016:~$ git config --global user.name "Elemente de Informatica Mobila 2016" student@eim2016:~$ git config --global user.email informaticamobila2016@gmail.com
student@eim2016:~$ git config --global core.editor gedit
student@eim2016:~$ git config --global merge.tool diff
Valori acceptate sunt: vimdiff
, kdiff3
, tkdiff
, meld
, xxdiff
, emerge
, gvimdiff
, ecmerge
, opendiff
, dar și alte programe dezvoltate de utilizatori în acest scop.
color.status
, color.branch
, color.interactive
, color.diff
.student@eim2016:~$ git config --global alias.comm commit student@eim2016:~$ git config --global alias.ustg 'reset HEAD --' student@eim2016:~$ git config --global alias.last 'log -1 HEAD'
!
Valorile variabilelor de configurare pot fi verificate prin comanda:
student@eim2016:~$ git config --list
/etc/gitconfig
, ~/.gitconfig
respectiv .git/config
, situație în care este utilizată ultima valoare întâlnită, prin parcurgerea locațiilor în această ordine.student@eim2016:~$ git config {configuration_variable}
De asemenea, poate fi listat conținutul fișierelor de configurare, individual (folosind comanda cat
, de exemplu).
Cheile SSH reprezintă un mecanism de identificare a mașinilor autorizate, fără a fi necesare parole. Acestea trebuie asociate în mod obligatoriu contului GitHub.
student@eim2016:~$ ls -al ~/.ssh
Dacă sunt listate fișiere de tipul id_rsa.pub
sau id_dsa.pub
, acesta pot fi folosite, în caz contrar fiind necesară generarea acestora.
~/.ssh/id_rsa
în mod implicit) se face pe baza unei adrese de poștă electronică, respectiv a unei parole: student@eim2016:~$ ssh-keygen -t rsa -C "informaticamobila2016@gmail.com" Generating public/private rsa key pair. Enter file in which to save the key (/home/student/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/student/.ssh/id_rsa. Your public key has been saved in /home/student/.ssh/id_rsa.pub. The key fingerprint is: 96:0a:59:ea:17:39:d7:12:98:8a:ee:e9:f7:16:20:ff informaticamobila2016@gmail.com
ssh-agent
: student@eim2016:~$ eval "$(ssh-agent -s)" Agent pid 4435 student@eim2016:~$ ssh-add ~/.ssh/id_rsa Enter passphrase for /home/student/.ssh/id_rsa: Identity added: /home/student/.ssh/id_rsa (/home/student/.ssh/id_rsa)
cat ~/.ssh/id_rsa.pub
) și se asociază contului GitHubstudent@eim2016:~$ ssh -T git@github.com The authenticity of host 'github.com (192.30.252.129)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'github.com,192.30.252.129' (RSA) to the list of known hosts. Hi eim2016! You've successfully authenticated, but GitHub does not provide shell access.
De asemenea, în lista cheilor SSH asociate contului GitHub, va fi indicată data la care aceasta a fost utilizată cel mai recent.