Installation pas à pas d’un serveur Ubuntu 10.04 : serveur git
Ce tutoriel décrit comment installer un serveur git sur son serveur : git est un logiciel libre de gestion de versions décentralisée.
Attention ! Ce tutoriel a été écrit pour l’installation d’un serveur git avec gitosis ; dans les versions plus récentes de Ubuntu serveur (12.04 LTS par exemple), gitosis a été remplacé par gitolite, voir ce post (à la fin) pour plus de détails sur l’installation de gitolite, qui est assez similaire à celle de gitosis.
Initialisation de la configuration du serveur git
Dans un premier temps, on installe les packages nécessaires :
apt-get install git-core gitosis
En utilisant la clé ssh publique tuxette.pub permettant la connexion au server, initialiser le serveur git :
sudo -H -u gitosis gitosis-init < tuxette.pub
Le serveur répond :
Initialized empty Git repository in /srv/gitosis/repositories/gitosis-admin.git/ Reinitialized existing Git repository in /srv/gitosis/repositories/gitosis-admin.git/
Création d’un projet test
Sur votre ordinateur local, après avoir chargé votre clé privée (correspondant à la clé publique nath.pub), récupérer le dépôt administrateur de git
git clone gitosis@server.domain-name.org:gitosis-admin.git
où server.domain-name.org
doit être remplacé par le nom de votre serveur.
Dans le répertoire gitosis-admin
, éditer le fichier gitosis.conf
qui est initialement de cette forme
[gitosis] [group gitosis-admin] writable = gitosis-admin members = keyfilename
où keyfilename
correspond au nom donné à votre clé (ne pas changer ce nom ni le fichier correspondant dans keydir
sous peine de se voir banni du serveur. Ajouter un nouveau projet :
[gitosis] [group team] writable = testproject members = keyfilename [group gitosis-admin] writable = gitosis-admin members = keyfilename
puis mettre à jour les informations sur le dépôt admin de git :
git commit -a git push
Sur votre ordinateur local, créez quelque part un répertoire testproject
dans lequel vous placez un fichier test a_file.txt
avant d’initialiser le dépôt git et de l’installer sur le serveur :
mkdir testproject cd testproject nano a_file.txt git init git add a_file.txt git commit -a git remote add origin gitosis@server.domain-name.org:testproject.git git push origin master
Pour ajouter un nouvel utilisateur au projet testproject
, de clé ssh publique tux.pub
, placer le fichier tux.pub
dans le répertoire gitosis-admin/keydir
puis
git add keydir/tux.pub git commit -a git push
puis modifier le projet testproject dans le fichier gitconfig par :
[group team] writable = testproject members = keyfilename tux
(ne pas oublier de pousser les modifications sur le serveur).
Utilisation du dépôt git par l’utilisateur tux
Pour pouvoir récupérer le dépôt git, l’utilisateur tux doit posséder un client git
apt-get install git
pour ubuntu ou bien ce lien pour Mac OS X (voir ce post pour l’installation sur une version ancienne de Mac OS X) et ce lien pour Windows. Une fois installé, les commandes suivantes permettent d’initialiser la configuration :
git config --global user.name "Tux Dude" git config --global user.email tux-email@whatnot.com
Enfin, pour configurer l’éditeur de test par défaut des messages de commit (j’utilise nano : basique mais rapide), utiliser la commande :
git config --global core.editor nano
Enfin, après avoir chargé sa clé privée, il peut récupérer le dépot git :
git clone gitosis@server.domain-name.org:testproject.git
En savoir plus : Plus d’information sur les manipulations de fichiers sur un dépôt git sur ce lien.