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 | ||
doc:systeme:git:tp-gerer-son-site-web [06/03/2014 20:44] captnfab [Mise en place] |
doc:systeme:git:tp-gerer-son-site-web [18/09/2015 17:59] (Version actuelle) milou [Opérations courantes] |
||
---|---|---|---|
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 !)) | * 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 !)) | ||
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 77: | Ligne 77: | ||
=== 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 94: | 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 107: | 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 116: | 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 125: | 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 142: | Ligne 142: | ||
* Récupérer des versions à jour du dépôt : | * Récupérer des versions à jour du dépôt : | ||
- | <code user>git checkout dev | + | <code user>git checkout dev</code> |
- | git pull</code> | + | <code user>git pull</code> |
* Éditer la branche dev | * Éditer la branche dev | ||
* Valider vos modifications : | * Valider vos modifications : | ||
Ligne 150: | Ligne 150: | ||
<code user>git push</code> | <code user>git push</code> | ||
* Lorsque le résultat est convenable, mettre à niveau la branche master | * Lorsque le résultat est convenable, mettre à niveau la branche master | ||
- | <code user>git checkout master | + | <code user>git checkout master</code> |
- | git merge dev -m 'intégration de la correction de bug'</code> | + | <code user>git merge dev -m 'intégration de la correction de bug'</code> |
* 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> | ||
Ligne 159: | Ligne 159: | ||
* 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> | <code user>git checkout upstream</code> | ||
- | <note info>Par exemple : <code user>git checkout upstream | + | <note info>Par exemple : <code user>git checkout upstream</code> |
- | rm -r * | + | <code user>rm -r *</code> |
- | wget 'http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz' -O/tmp/dokuwiki-stable.tgz | + | <code user>wget 'http://download.dokuwiki.org/src/dokuwiki/dokuwiki-stable.tgz' -O/tmp/dokuwiki-stable.tgz</code> |
- | tar xf /tmp/dokuwiki-stable.tgz --strip-components 1 | + | <code user>tar xf /tmp/dokuwiki-stable.tgz --strip-components 1</code> |
- | git add --all . | + | <code user>git add --all .</code> |
- | git commit -a -m 'nouvelle version upstream: Binky (2013-12-08)'</code></note> | + | <code user>git commit -a -m 'nouvelle version upstream: Binky (2013-12-08)'</code></note> |
* Soumettre le résultat : | * Soumettre le résultat : | ||
<code user>git push</code> | <code user>git push</code> | ||
* Importer les changements dans la branche de dev : | * Importer les changements dans la branche de dev : | ||
- | <code user>git checkout dev | + | <code user>git checkout dev</code> |
- | git rebase upstream</code> | + | <code user>git rebase upstream</code> |
<note important>Corriger les erreurs éventuelles de fusion. Par exemple : | <note important>Corriger les erreurs éventuelles de fusion. Par exemple : | ||
- | <code user>git rm VERSION | + | <code user>git rm VERSION</code> |
- | git rebase --continue</code></note> | + | <code user>git rebase --continue</code></note> |
* Puis soumettre la nouvelle version : | * Puis soumettre la nouvelle version : | ||
<code user>git push --force</code> | <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</code> |
- | git merge dev -m 'intégration de la nouvelle version upstream'</code> | + | <code user>git merge dev -m 'intégration de la nouvelle version upstream'</code> |
* 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) |