logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
doc:systeme:git:tp-gerer-son-site-web [06/03/2014 18:11]
captnfab [Mise en place]
doc:systeme:git:tp-gerer-son-site-web [18/09/2015 17:59] (Version actuelle)
milou [Opérations courantes]
Ligne 1: Ligne 1:
-====== Gérer son site web avec Git ======+====== ​TP : Gérer son site web avec Git ======
  
   * Objet : Gérer son site web avec Git   * Objet : Gérer son site web avec Git
   * Niveau requis : {{tag>​avisé}}   * Niveau requis : {{tag>​avisé}}
   * Commentaires : //Vous gérez un ou plusieurs sites web sur votre serveur. Vous voulez l'​administrer avec git pour faciliter les mises-à-jour/​patch/​etc.//​   * Commentaires : //Vous gérez un ou plusieurs sites web sur votre serveur. Vous voulez l'​administrer avec git pour faciliter les mises-à-jour/​patch/​etc.//​
-  * À savoir : Utilisation ​basique ​de git FIXME :-) +  * À savoir : [[:​doc:​systeme:​git:​git|Utilisation de git]] :-) 
-  * Suivi : {{tag>en-chantier}} +  * Suivi : {{tag>​}} 
-    * Création par **captnfab** 06/03/2014+    * Création par [[user>captnfab]] 06/03/2014
     * Testé par <...> le <...> FIXME     * Testé par <...> le <...> FIXME
-  * Commentaires sur le forum : [[url Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[https://​debian-facile.org/​topic-8596-wiki-tp-gerer-son-site-web-avec-git-page-1.html ​ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 **Nota :** **Nota :**
Ligne 33: Ligne 33:
  
 Installer **git** sur le **serveur** et le **client** : ​ Installer **git** sur le **serveur** et le **client** : ​
-<code=root>​apt-get install git</​code>​+<code root>​apt-get install git</​code>​
  
 ===== Mise en place ===== ===== Mise en place =====
Ligne 42: Ligne 42:
 Sur le **serveur** :​ Sur le **serveur** :​
  
-<code user>​mkdir -p /​srv/​monsiteweb/​www.git +<code user>​mkdir -p /​srv/​monsiteweb/​www.git</​code>​ 
-mkdir www.git +<code user>mkdir www.git</​code>​ 
-git init --bare www.git</​code>​+<code user>git init --bare www.git</​code>​
  
 === Configuration des hooks sur le serveur === === Configuration des hooks sur le serveur ===
Ligne 72: Ligne 72:
 Le rendre exécutable :​ Le rendre exécutable :​
 <code user>​chmod +x /​srv/​monsiteweb/​www.git/​hooks/​post-update</​code>​ <code user>​chmod +x /​srv/​monsiteweb/​www.git/​hooks/​post-update</​code>​
 +
 +<note idée>Si vous utilisez un moteur de blog statique comme [[http://​blog.getpelican.com/​|pelican]] ou [[http://​posativ.org/​acrylamid/​|acrylamid]],​ vous pouvez lancer la recompilation du blog depuis ce fichier, juste après le checkout.</​note>​
  
 === Clonage du dépôt sur le client === === Clonage du dépôt sur le client ===
 Sur le **client** :​ Sur le **client** :​
-<code user>​mkdir -p ~/​projets/​mon-site/​ +<code user>​mkdir -p ~/​projets/​mon-site/​</​code>​ 
-cd ~/​projets/​mon-site/​ +<code user>cd ~/​projets/​mon-site/​</​code>​ 
-git clone toto@serveur:/​srv/​monsiteweb/​www.git</​code>​+<code user>git clone toto@serveur:/​srv/​monsiteweb/​www.git</​code>​
  
 ==== Création des branches ==== ==== Création des branches ====
Ligne 92: Ligne 94:
  
   * Indiquer à git de les prendre en compte :   * Indiquer à git de les prendre en compte :
-<code user>git add . +<code user>git add .</​code>​ 
-git commit -m '​Version initiale'</​code>​+<code user>git commit -m '​Version initiale'</​code>​
  
   * Renommer la branche en //​upstream//​ :​   * Renommer la branche en //​upstream//​ :​
Ligne 105: Ligne 107:
  
   * Créer la branche //dev// basée sur la branche //​upstream//​ :​   * Créer la branche //dev// basée sur la branche //​upstream//​ :​
-<code user>git checkout upstream +<code user>git checkout upstream</​code>​ 
-git branch dev +<code user>git branch dev</​code>​ 
-git checkout dev</​code>​+<code user>git checkout dev</​code>​
  
   * Appliquer les modifications voulues.   * Appliquer les modifications voulues.
 <note info>Par exemple : <note info>Par exemple :
-<code user>rm README VERSION COPYING</​code>​+<code user>rm README VERSION COPYING</​code></​note>
  
   * Valider les changements et envoyer le résultat sur le dépôt distant :   * Valider les changements et envoyer le résultat sur le dépôt distant :
-<code user>git commit -a -m '​Préparation à la mise en test'​ +<code user>git commit -a -m '​Préparation à la mise en test'</​code>​ 
-git push -u origin dev</​code>​+<code user>git push -u origin dev</​code>​
  
 Le hook de la branche dev devrait alors s'​activer automatiquement et placer les sources dans le dossier de dev sur le serveur. Le hook de la branche dev devrait alors s'​activer automatiquement et placer les sources dans le dossier de dev sur le serveur.
Ligne 123: Ligne 125:
  
   * Créer la branche //prod// basée sur la branche //dev// :   * Créer la branche //prod// basée sur la branche //dev// :
-<code user>git checkout dev +<code user>git checkout dev</​code>​ 
-git branch prod +<code user>git branch prod</​code>​ 
-git checkout prod</​code>​+<code user>git checkout prod</​code>​
  
  
Ligne 139: Ligne 141:
 //Ou correction d'une fonctionnalité indésirable…//​ //Ou correction d'une fonctionnalité indésirable…//​
  
-  ​Récupérer des versions à jour du dépôt ​<code user>git checkout dev +  ​Récupérer des versions à jour du dépôt :​ 
-git pull</​code>​ +<code user>git checkout dev</​code>​ 
-  ​Éditer la branche dev +<code user>git pull</​code>​ 
-  ​Valider vos modifications ​<code user>git commit -a -m 'bug corrigé'</​code>​ +  ​Éditer la branche dev 
-  ​Soumettre vos modifications <code user>git push</​code>​ +  ​Valider vos modifications :​ 
-  ​Lorsque le résultat est convenable, mettre à niveau la branche master<​code>​git checkout master +<code user>git commit -a -m 'bug corrigé'</​code>​ 
-git merge dev -m '​intégration de la correction de bug' +  ​Soumettre vos modifications 
-git push</​code>​+<code user>git push</​code>​ 
 +  ​Lorsque le résultat est convenable, mettre à niveau la branche master 
 +<​code ​user>git checkout master</​code>​ 
 +<code user>git merge dev -m '​intégration de la correction de bug'</​code>​ 
 +  * Serrer les fesses et soumettre le résultat :​ 
 +<code user>git push</​code>​ 
 + 
 +==== Mise à jour depuis upstream ==== 
 + 
 +  * Récupérer les nouvelles sources dans la branche //​upstream//​.  
 +<code user>git checkout upstream</​code>​ 
 +<note info>Par exemple : <code user>git checkout upstream</​code>​ 
 +<code user>rm -r *</​code>​ 
 +<code user>​wget '​http://​download.dokuwiki.org/​src/​dokuwiki/​dokuwiki-stable.tgz'​ -O/​tmp/​dokuwiki-stable.tgz</​code>​ 
 +<code user>tar xf /​tmp/​dokuwiki-stable.tgz --strip-components 1</​code>​ 
 +<code user>git add --all .</​code>​ 
 +<code user>git commit -a -m '​nouvelle version upstream:​ Binky (2013-12-08)'</​code></​note>​ 
 +  * Soumettre le résultat :​ 
 +<code user>git push</​code>​ 
 +  * Importer les changements dans la branche de dev : 
 +<code user>git checkout dev</​code>​ 
 +<code user>git rebase upstream</​code>​ 
 +<note important>​Corriger les erreurs éventuelles de fusion. Par exemple :  
 +<code user>git rm VERSION</​code>​ 
 +<code user>git rebase --continue</​code></​note>​ 
 +  * Puis soumettre la nouvelle version :​ 
 +<code user>git push --force</​code>​ 
 +  * Fusionner la branche dev opérationnelle depuis la branche prod : 
 +<code user>git checkout prod</​code>​ 
 +<code user>git merge dev -m '​intégration de la nouvelle version upstream'</​code>​ 
 +  * Serrer les fesses et soumettre le résultat : 
 +<code user>git push</​code>​
  
 +===== Références =====
  
-//En cours//+  * http://www.git-scm.com/book/fr 
 +  * http://​toroid.org/​ams/​git-website-howto (en) 
 +  * https://​www.kernel.org/​pub/​software/​scm/​git/​docs/​githooks.html (en)
doc/systeme/git/tp-gerer-son-site-web.1394125896.txt.gz · Dernière modification: 06/03/2014 18:11 par captnfab

Pied de page des forums

Propulsé par FluxBB