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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Dernière révision Les deux révisions suivantes | ||
doc:systeme:git:tp-gerer-son-site-web [06/03/2014 19:04] captnfab [Installation] |
doc:systeme:git:tp-gerer-son-site-web [18/09/2015 17:54] milou [Mise en place] |
||
---|---|---|---|
Ligne 6: | Ligne 6: | ||
* À savoir : [[:doc:systeme:git:git|Utilisation de git]] :-) | * À savoir : [[:doc:systeme:git:git|Utilisation de git]] :-) | ||
* Suivi : {{tag>}} | * 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 : [[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 !)) 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 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. | ||
Ligne 114: | Ligne 116: | ||
* 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 156: | Ligne 158: | ||
* Récupérer les nouvelles sources dans la branche //upstream//. | * Récupérer les nouvelles sources dans la branche //upstream//. | ||
- | <code user>git checkout upstream | + | <code user>git checkout upstream</code> |
<note info>Par exemple : <code user>git checkout upstream | <note info>Par exemple : <code user>git checkout upstream | ||
rm -r * | rm -r * | ||
Ligne 171: | Ligne 173: | ||
<code user>git rm VERSION | <code user>git rm VERSION | ||
git rebase --continue</code></note> | git rebase --continue</code></note> | ||
- | * Puis soumettre la nouvelle version : <code user>git push --force</code> | + | * Puis soumettre la nouvelle version : |
+ | <code user>git push --force</code> | ||
* Fusionner la branche dev opérationnelle depuis la branche prod : | * Fusionner la branche dev opérationnelle depuis la branche prod : | ||
<code user>git checkout prod | <code user>git checkout prod | ||
Ligne 177: | Ligne 180: | ||
* Serrer les fesses et soumettre le résultat : | * Serrer les fesses et soumettre le résultat : | ||
<code user>git push</code> | <code user>git push</code> | ||
+ | |||
+ | ===== Références ===== | ||
+ | |||
+ | * 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) |