22. décembre 2017 ( Serveur )

Marre d’avoir vos codes à la vue de tous sur github ?
Ou bien être limité en nombre de dépôt sur d’autres services ?
Installer directement le serveur git sur votre serveur, que ce soir un serveur physique, vps ou même sur un Raspberry pi chez vous ….

Préparation du serveur

N’oublier pas de vous connecter en root afin de ne pas retaper sudo avant chaque commande

apt-get update && apt-get upgrade
apt-get install git

Création du répertoire ou les dépôt GIT seront stockés

mkdir /var/git/

Dans notre installation il y aura un groupe d’utilisateur GIT qui aura le repertoire /var/git associé. Donc on crée le groupe et on le lie au dossier et on change les permissions de celui ci

addgroup git
chgrp -R git /var/git
chmod -R g+swX /var/git

Mise en place du GIT

Pour les test on aura deux utilisateurs pour vérifier que le git fonctionne bien
ps: les utilisateurs doivent avoir un nom sans majuscules

adduser usertest1
adduser usertest2

Ajouter le mot de passe et informations voulues dans chaque utilisateur
Puis on ajoute les utilisateurs dans le groupe GIT

usermod -G git usertest1
usermod -G git usertest2

Et enfin on créer notre premier dépôt GIT !
Attention c’est du beau, du magnifique …. oui du banal en fait.

cd /var/git
mkdir test
cd test
git init --bare --shared=group

Le paramètre shared est important, sinon pas de travail en groupe !

Coté client

Sous Windows

Au plus simple ? Tortoise Git fait bien le boulot.
Pour récupérer le dossier un simple Clic-Droit / Git Clone et dans le champs URL :

ssh://NOM_DE_L_UTILISATEUR@IP_DU_SERVEUR/var/git/test

indiquer le mot de passe et voila le dossier et récupéré vous pouvez le modifier et le commit en direction du serveur

Pour visualiser les commits

cd /var/git/test
git log

Pour plus de détails utilisez git log -p pour avoir les fichiers ajoutés/modifiés/supprimés et en option :

-NombreDeCommit

pour limiter aux x derniers commits.
Exemple : git log -p -3

Sous Linux

Création du répertoire ou seront mis les dépôts

mkdir /home/git/
cd /home/git/
git clone ssh://NOM_DE_L_UTILISATEUR@IP_DU_SERVEUR/var/git/test

Ajout d’un fichier et renvoi

cd /home/git/test
echo "Ceci est un test pour le depot test de git :D " > test.txt
git add test.txt //ou bien "git add ." ou "git add -A" pour tout ajouter
git status //optionnel
git commit -m "MESSAGE_INFORMATIF_SUR_LE_COMMIT"
git push //pour renvoyer vers le serveur

Sous Mac OS X

Utiliser les lignes de commande de linux ou bien il existe ce Client Graphique GitX

ou bien Ungit, client multi-plateforme