11.11. Gérer les révisions des fichiers et de la configuration avec Git

Last updated on
11 January 2024

Objectif

Utiliser l’outil de contrôle de révisions Git pour gérer les révisions des fichiers et de la configuration sur votre site.

Prérequis

Prérequis du site

  • Vous devez avoir téléchargé Drupal pour votre site, en utilisant une des méthodes exposées dans Section 3.3, « Concept : méthodes pour télécharger et installer le cœur (core) ». Si vous voulez gérer la configuration, vous devez l’avoir installé et disposer d’un site fonctionnel.
  • Un client Git doit être installé sur le serveur de votre site. Consulter les instructions sur Git.
  • Vous devez disposer d’un nouveau dépôt créé et connaître son URL de clonage avec Git.

Étapes

Initialiser le dépôt

Suivre ces étapes une fois, après avoir créé le dépôt Git, pour connecter votre répertoire local au dépôt et y ajouter les fichiers initiaux.

  1. Ouvrir une invite de commande, et vous placer dans le répertoire contenant les fichiers de votre site (répertoire racine).
  2. Déterminer où se trouve la racine du site. Si les répertoires core, modules et themes se trouvent directement dans ce répertoire, alors vous êtes bien à la racine du site. Si vous avez utilisé Composer pour télécharger Drupal, alors ces fichiers se trouvent dans le sous-répertoire web (qui est la racine de votre site).
  3. Dans un éditeur de texte, créer un nouveau fichier appelé .gitignore au sommet de l’arborescence (ou le modifier s’il existe déjà). Ce fichier contient une liste de fichiers et de répertoires que Git devrait ignorer (ne pas ajouter au dépôt). Par exemple, le fichier settings.php de votre site ne devrait pas être ajouté à Git, parce qu’il contient les identifiants de la base de données, et les fichiers transférés vers votre site (généralement dans sites/default/files) ne devraient pas non plus être dans Git — l’objectif est que le dépôt contienne le logiciel, et non le contenu du site.
  4. S’assurer que les lignes suivantes se trouvent dans le fichier .gitignore. Si la racine de votre site ne correspond pas avec le répertoire racine de l’installation, modifier en conséquence chacune de ces lignes si elles nécessitent un préfixe. Par exemple, il se pourrait que sites doive être remplacé par web/sites.

    sites/*/settings*.php
    sites/*/files
    config
  5. Saisir les commandes suivantes :

    git init
    git add -A
  6. Optionnellement, vérifier la liste des fichiers qui seront ajoutés à votre répertoire Git en saisissant cette commande et en faisant défiler cette (très longue) liste :

    git status
  7. Saisir les commandes suivantes. Vous pouvez remplacer "Ajout initial des fichiers" par votre propre message de révision si vous le souhaitez, et il vous faudra remplacer l’URL de la seconde commande par votre propre URL de clonage avec Git :

    git commit -m "Ajout initial des fichiers"
    git remote add origin https://gitlab.com/example-name/example-repo.git
    git push -u origin master
  8. Si vous utilisez Gitlab, GitHub, ou un autre fournisseur avec un accès en ligne, vous pouvez maintenant vous rendre sur la page de votre dépôt et vous assurer que vos fichiers s’y trouvent bien.

Mettre à jour les fichiers dans le dépôt

Suivre ces étapes quand vous avez mis à jour, ajouté ou supprimé un ou plusieurs fichiers de votre site, afin de publier les changements (push) dans votre dépôt.

  1. Ouvrir une invite de commande et vous placer dans le répertoire où se trouvent les fichiers de votre site.
  2. Vérifier la liste des fichiers qui ont été ajoutés, modifiés ou supprimés :

    git status
  3. Optionnellement, pour les fichiers texte (et non les images) qui ont été modifiés, visualisez les différences entre la nouvelle version du fichier et l’ancienne :

    git diff chemin/vers/le/fichier.txt
  4. Marquer les changements comme devant être inclus à la prochaine révision, et vérifier qu’ils soient correctement marqués :

    git add -A
    git status
  5. Il est possible d’omettre un fichier en particulier que vous avez déjà marqué comme devant être inclus à la prochaine révision, ou d’ajouter un nouveau fichier. Si un fichier ou un répertoire est ajouté par erreur de manière répétée, envisager son ajout au fichier .gitignore afin qu’il soit ignoré par Git. Commandes pour omettre ou ajouter :

    git reset HEAD path/to/file.txt
    git add path/to/file.txt
  6. Créer une révision (commit) et publier (push) vos changements. Modifier en conséquence le message de la révision :

    git commit -m "mon message de commit"
    git push
  7. Si sous avez d’autres copies du dépôt, les mettre à jour en ouvrant une invite de commande dans le répertoire de chacune des copies et lancer la commande suivante :

    git pull

Faire une copie des fichiers de votre dépôt

Suivre ces étapes si vous voulez copier tous les fichiers de votre dépôt vers un nouvel emplacement. Par exemple, vous pourriez avoir à la fois une copie de développement locale de votre site et un site en production, ou plusieurs membres de l'équipe pourraient avoir des copies locales de votre site.

  1. Ouvrir une invite de commande à l’emplacement où vous voulez récupérer les fichiers.
  2. Saisir la commande suivante, en remplaçant l’URL par votre URL de clonage, et repertoire par le nom du sous-répertoire souhaité :

    git clone https://gitlab.com/example-name/example-repo.git repertoire

Gérer la configuration dans le dépôt

  1. Suivre les instructions de Section 11.10, « Synchroniser les versions de la configuration » pour exporter une archive contenant l’ensemble de la configuration de votre site.
  2. Si vous n’avez pas encore placé la configuration dans votre dépôt, décompresser l’archive contenant la configuration dans un nouveau répertoire, de préférence au-dessus de la racine de votre site, et suivre les instructions ci-dessus pour ajouter ces fichiers au dépôt.
  3. Après avoir placé ces fichiers dans le dépôt, chaque fois que la configuration du site change, exporter et décompresser l’archive contenant la configuration dans le même emplacement. Suivre les instructions ci-dessus pour mettre à jour ces fichiers dans votre dépôt.
  4. Pour importer la configuration dans un autre site, faire une archive contenant le répertoire de votre dépôt contenant la configuration. Suivre alors les instructions de Section 11.10, « Synchroniser les versions de la configuration » pour transférer et importer cette archive dans le site.

Concepts liés

Section 11.7, « Concept : sites de développement »

Attributions

Adapté et modifié par Jennifer Hodgdon à partir de "Building a Drupal site with Git", copyright 2000-2024 contributeurs individuels à la documentation de la communauté de Drupal. Traduit par Felip Manyer i Ballester.

 

This page is generated from AsciiDoc source from the User Guide. To propose a change, edit the source and attach the file to a new issue in the User Guide project. PDF and e-book formats are available on the User Guide project page.

Source file: extend-git.asciidoc

Help improve this page

Page status: No known problems

You can: