Serveur GIT

De HomeServer.DIY.
Aller à : Navigation, rechercher

Git, c'est quoi ?

Git est un gestionnaire de versions, à l'image de Svn mais contrairement à ce dernier, il est décentralisé. Un gestionnaire de versions permet de garder un historique des modifications effectuées sur un fichier. Décentralisé veut dire que chaque client possédera une copie entière du dépôt sur son ordinateur. Il est de moins en moins rare de devoir cloner un dépôt Git quand l'on veut compiler un programme non disponible dans le gestionnaire de dépôts de sa distribution.

Pourquoi installé un serveur Git chez soi ?

Il existe plusieurs services gratuits sur Internet qui propose des dépôts Git (GitHub, Bitbucket, ...), mais dans la plupart des cas, seul les dépôts publics sont offerts (donc accessibles à tout le monde) ainsi que d'autres limitations normales. Avoir son propre serveur Git vous permettra donc de stocker vos sources en toute confidentialité !

L'installation

C'est très simple : un paquet étant disponible sur les dépôts de Debian et de ses dérivées, nous allons donc l'utiliser.

apt-get install git


Configuration de l'utilisateur

Il faut donner un minimum d'informations à Git pour qu'il puisse créer un dépôt :

git config --global user.name "user_name"
git config --global user.email "user_name@domaine.tld"

Ces commandes vous créeront un fichier .gitconfig dans votre dossier home. En l'absence de ces informations, vous aurez systématiquement une erreur avec Git. Bien sur, ce fichier peut contenir bien plus d'information, je vous invite à chercher sur Internet pour en savoir plus ;)

Création d'un dépôt

Maintenant, attaquons la création de votre premier dépôt. On crée le répertoire du projet et on l'initialise :

mkdir /var/git/projet.git
cd /var/git/projet.git
git init --bare


Du côté du client

Pour accéder à votre dépôt Git depuis votre client il faut installer le même paquet que celui installé sur votre serveur :

apt-get install git


Si vous avez déjà utilisé un dépôt Git, vous connaissez déjà la marche à suivre. La seul différence étant que vous allez avoir un warning car votre dépôt est vide. D'abord, clonons le dépôt :

git clone user@addresse_serveur:projet.git

Vous avez donc une copie locale de votre projet mais celui-ci est vide... C'est un peu triste tout ça, on va donc y ajouter un premier fichier.

cd projet
touch readme.txt --rappel: la commande touch permet de créer un fichier vide.
git add readme.txt
git commit -m "Initialisation du projet"
git push origin master

Si vous utilisez déjà git, vous remarquerez l'ajout de "origin master" dans la dernière commande! En effet, le dépôt est vide et aucune branche n'a été créée, git ne saura donc pas synchroniser votre projet. Ces paramètres permettent de créer la branche principale de votre dépôt.


Voilà votre serveur Git enfin installé ! Cependant, veuillez ne pas l'utiliser en ligne car celui-ci n'est pas sécurisé ! Nous verrons plus-tard comment effectuer cette configuration avec SSH.