Installer Git sur un serveur privé
avril 10, 2015 7:13 Laissez vos commentairesDans cet article, nous allons apprendre à utiliser le célèbre outil de gestion de version sur un serveur privé Linux Centos.
Sur le serveur distant
Installation de git et des dépendances :
yum install git
sudo yum install zlib-devel perl-ExtUtils-MakeMaker asciidoc xmlto openssl-devel
Création du dossier git :
mkdir -p /var/git/sitedev.git
Création du dépôt git :
Il existe 2 types de repository : bare et non bare.
git-int : le repository contient le répertoire .git (toute l’historique et la configuration de git) mais également les codes sources originaux de votre projet.
git-init –bare : ne contient que les versions de votre code (utilisation dans le cadre d’un dev collaboratif sur un serveur centralisé. Les sous dossier du dossier .git sont placés directement à la racine du site.
cd /var/git/sitedev.git git init --bare chown -R git:git /var/git
N’oubliez pas de changer le mot de passe git
passwd git
Configuration SSH
Génération d’une paire de clé privée et publique :
[root@dev git]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@dev
Vous pouvez vérifier que la génération des clés a bien été effectuée (répertoire par défaut /.ssh):
cd ~/.ssh [root@dev .ssh]# ls -l -rw-r--r-- 1 root root 0 1 août 2014 authorized_keys2 -rw------- 1 root root 1675 3 avril 16:44 id_rsa -rw-r--r-- 1 root root 390 3 avril 16:44 id_rsa.pub
Nous voyons bien notre clé privée (id_rsa) et notre clé publique (id_rsa.pub).
Création du fichier vide authorized_keys avec la commande touch:
mkdir /var/git/.ssh touch /var/git/.ssh/authorized_keys
Nous allons maintenant insérer dans ce fichier un script contenant la clé publique 1.
[root@dev git]# cd ~/.ssh [root@dev .ssh]# cat -s id_rsa.pub
Copiez cette clé dans le fichier vide /var/git/.ssh/authorized_keys :
[root@dev .ssh]# echo "jgdsfghpinpgineoringeprgin" >> /var/git/.ssh/authorized_keys
Application des droits :
chmod 755 ~/.ssh chmod 600 ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
eval $(ssh-agent) ssh-add
En local sous Windows
Procédez à l’installation de git pour Windows :
http://git-scm.com/download/win
Vérifiez la version installée :
Z:\>git --version git version 1.9.5.msysgit.1
Récupération de notre projet sur le serveur distant :
Placez vous dans le dossier souhaité (ex: wamp\www) puis lancez la commande suivante :
c:\wamp\www>git clone git@MONSERVEUR:/var/git/sitedev.git Cloning into 'sitedev'... The authenticity of host 'MONSERVEUR (MONSERVEUR)' can't be established. RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'MONSERVEUR' (RSA) to the list of known hosts. git@MONSERVEUR password: warning: You appear to have cloned an empty repository. Checking connectivity... done.
Parfait, notre dossier sitedev (vide dans notre cas) a bien été récupéré! Enfin, vide pas tout à fait car il contient un dossier .git contenant le squelette du dépôt git.
Ajoutons à présent un simple fichier readme en local. La commande git status nous informe que ce fichier n’est pas tracké:
C:\wamp\www\sitedev>git status On branch master Initial commit Untracked files: (use "git add..." to include in what will be committed) readme.txt nothing added to commit but untracked files present (use "git add" to track)
pour l’ajouter au suivi de version il suffit d’utiliser la commande
git add readme.txt
Validez ensuite les changements avec un message :
git commit -m "mon message"
le fichier est ajouté au HEAD, en attente d’être envoyé sur votre serveur distant, ce que nous allons faire immédiatement :
git push origin master
Erreurs possibles :
Git – refusing to update checked out branch
Quelques commandes utiles:
# Configurer votre nom et votre adresse email git config --global user.name "tuto" git config --global user.email "tuto@example.lan" #Visualiser les modifications git diff #Valider vos modifications avec message (argument -m) et indexation auto (-a) git commit -a -m "mon message" #visualiser l'historique des modifications git log #le git log affiche l'identifiant du commit. Les 10 premiers caractères sont utiles si vous #voulez créer un tag de version git tag 12345rr698
Voilà pour une configuration basique de Git sur un serveur privé.
A+
Notes:
- cat -s permet d’afficher le contenu d’un fichier sans les lignes vides ↩
Classés dans :Git
Cet article a été écrit par admin