Table des matières
Git
Installation
L'installation dépend du système d'exploitation.
Par exemple sous debian:
apt-get install git
Dépendances
Avant de commencer il faut savoir que git se base sur ssh, le serveur client qui souhaitera communiquer avec le dépôt devra partager sa clef ssh publique.
Configuration
Se placer sur le serveur/poste/répertoire qui hébergera de dépôt git et ne servira qu'à ça, les sources de ce serveur/répertoire ne seront pas éditées.
Créer et se déplacer dans le répertoire souhaité, exemple :
cd /home/jonathan/ mkdir depot.git cd depot.git
Initialiser le dépt grâce à la commande suivante :
git init --bare
L'option “–bare” signifie que ce ne sera pas un répertoire de travail, contrairement à une initialisation classique que l'on verra plus loin.
Se placer sur le serveur/poste/répertoire de travail, d'où le code sera édité.
Créer et se déplacer dans le répertoire souhaité, exemple :
cd /home/jonathan/ mkdir remoteserver cd remoteserver
Initialiser le répertoire de travail :
git init
Pour éviter d'avoir les messages d'alerte, configurer les coordonnées maintenant :
git config user.email "jonathan@localhost" git config user.name "jonathan"
Définir ce répertoire comme clone du dépôt :
git clone jonathan@remoteserver:'depot.git'
Le fichier de configuration du répertoire de travail se trouve alors à l'emplacement suivant:
cat .git/config [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [user] email = jonathan@localhost name = jonathan [remote "origin"] url = jonathan@raspiplop:depot.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master
Le serveur/poste/répertoire est prêt à être exploité.
Utilisation
Ajouter un premier fichier, par exemple :
mkdir monsiteweb cd monsiteweb echo "User-agent: * Disallow: /" > robot.txt
Ajouter ce répertoire et son contenu comme objets à prendre en compte :
git add monsiteweb
Effectuer le premier commit :
git commit -m "Initial commit : add monsiteweb/robot.txt"
L'option “-m” permet d'écrire un commentaire, celui ci sera demandé s'il n'est pas précisé, autant ne pas l'oublier.
Enfin, pousser les modifications vers le dépôt :
git push origin master
Trucs
Hooks : Post-Upload
Il est possible de préciser au dépôt git d'effectuer des actions après un commit, par exemple pour mettre à jour un site web.
L'exemple ci-dessous définit le répertoire “/var/www/” comme répertoire de travail :
sudo git clone /home/jonathan/depot.git /var/www
Les commandes souhaitées se placent alors dans le fichier suivant :
cat depot.git/hooks/post-upload #!/bin/bash # ## # Auteur: Jonathan Demmerlé # Le : 06/02/2016 ## echo " - mise en production - " cd /var/www unset GIT_DIR sudo git pull origin master sudo chown -R www-data: /var/www/*
Info : Exclude
Il est possible de ne pas prendre en compte des fichiers définis, par exemple, les fichiers temporaires ou de travail de certains logiciels :
cat .git/info/exclude # git ls-files --others --exclude-from=.git/info/exclude # Lines that start with '#' are comments. # For a project mostly in C, the following would be a good set of # exclude patterns (uncomment them if you want to use them): # *.[oa] git ls-files --others --exclude-from=.git/info/exclude *~
