Skip to main content

Utilisation de Git sur GitHub Docs

Vous pouvez utiliser Git sur la ligne de commande pour commiter des modifications, puis pour les envoyer au dépÎt de documentation.

Cet article dĂ©crit le processus de crĂ©ation d’une branche de rubrique pour le dĂ©pĂŽt de documentation, de commit des modifications et d’envoi (push) de vos modifications au dĂ©pĂŽt distant.

L’article suppose que vous avez dĂ©jĂ  clonĂ© le dĂ©pĂŽt de documentation localement, et que vous apporterez des modifications sur votre ordinateur local au lieu de le faire sur GitHub ou dans un codespace. Pour plus d’informations, consultez « Clonage d’un dĂ©pĂŽt Â».

Configuration de votre branche de rubrique et modifications

Pour maintenir la synchronisation de vos branches locales avec leurs versions distantes et éviter les conflits de fusion, procédez comme suit quand vous travaillez sur la documentation.

  1. Dans le terminal, changez le rĂ©pertoire de travail actuel pour l’emplacement oĂč vous avez clonĂ© le dĂ©pĂŽt de documentation. Par exemple :

    cd ~/my-cloned-repos/docs
    
  2. Passez Ă  la branche par dĂ©faut : main.

    git checkout main
    
  3. Obtenez les commits les plus récents auprÚs du dépÎt distant.

    git pull origin main
    
  4. Passez à une branche de rubrique ou créez-la.

    • Pour dĂ©marrer un nouveau projet, crĂ©ez une branche de rubrique Ă  partir de main.

      git checkout -b YOUR-TOPIC-BRANCH
      

      Remarque

      Vous pouvez utiliser des barres obliques dans le nom de la branche, par exemple pour inclure votre nom d’utilisateur :

      git checkout -b my-username/new-codespace-policy
      
    • Pour travailler sur un projet existant, basculez vers votre branche de rubrique et fusionnez les modifications Ă  partir de main.

      git checkout YOUR-TOPIC-BRANCH
      git merge main
      

      Si vous rencontrez des conflits de fusion, suivez les étapes décrites plus loin dans cet article pour résoudre les conflits de fusion.

  5. Ouvrez votre éditeur de texte préféré, modifiez les fichiers selon les besoins, puis enregistrez vos modifications.

Validation (commit) et envoi (push) de vos modifications

  1. Quand vous ĂȘtes prĂȘt Ă  commiter vos modifications, ouvrez un terminal et vĂ©rifiez l’état de votre branche de rubrique avec git status. VĂ©rifiez que vous voyez l’ensemble correct des modifications.

    git status
    On branch YOUR-TOPIC-BRANCH
    
    Changes not staged for commit:
      (use "git add <file>..." to update what will be committed)
      (use "git checkout -- <file>..." to discard changes in working directory)
            deleted:    example-deleted-file.md
            modified:   example-changed-file.md
    
    Untracked files:
      (use "git add <file>..." to include in what will be committed)
            example-new-file.md
    
  2. Indexez les fichiers modifiĂ©s afin qu’ils soient prĂȘts Ă  ĂȘtre commitĂ©s dans votre branche de rubrique.

    • Si vous avez créé de nouveaux fichiers ou mis Ă  jour des fichiers existants, utilisez git add FILENAME [FILENAME...]. Par exemple :

      git add example-new-file.md example-changed-file.md
      

      Ceci ajoute la version mise Ă  jour des fichiers Ă  la zone de mise en place de Git, Ă  partir de laquelle les modifications peuvent ĂȘtre commitĂ©es. Pour dĂ©sindexer un fichier, utilisez git reset HEAD FILENAME. Par exemple : git reset HEAD example-changed-file.md.

    • Si vous avez supprimĂ© des fichiers, utilisez git rm FILENAME [FILENAME...]. Par exemple :

      git rm example-deleted-file.md
      
  3. Commitez vos changements.

    git commit -m "Commit message title (max 72 characters)
    
    Optional fuller description of what changed (no character limit).
    Note the empty line between the title and the description,
    and the closing quotation mark at the end of the commit message."
    

    Ceci commite les modifications indexées localement. Vous pouvez maintenant envoyer (push) ce commit et tous les autres commits non envoyés vers le dépÎt distant.

    Pour supprimer ce commit, utilisez git reset --soft HEAD~1. AprĂšs l’exĂ©cution de cette commande, nos modifications ne sont plus commitĂ©es, mais les fichiers modifiĂ©s restent dans la zone d’indexation. Vous pouvez apporter d’autres modifications, puis effectuer Ă  nouveau les opĂ©rations add et commit.

  4. Envoyez vos modifications au dépÎt distant sur GitHub.

    • La premiĂšre fois que vous envoyez votre branche, vous pouvez choisir d’ajouter une branche de suivi amont. Ceci vous permet d’utiliser git pull et git push sur cette branche sans arguments supplĂ©mentaires.

      git push --set-upstream origin YOUR-TOPIC-BRANCH
      
    • Si vous avez dĂ©jĂ  envoyĂ© cette branche auparavant et que vous avez dĂ©fini une branche de suivi amont, vous pouvez utiliser :

      git push
      

Bonnes pratiques pour les commits

  • PrivilĂ©giez les commits qui contiennent de petits groupes de modifications ciblĂ©es par rapport aux commits avec des groupes de modifications en grande quantitĂ©s et non ciblĂ©es, car cela vous aide Ă  Ă©crire des messages de commit que d’autres personnes peuvent alors facilement comprendre. L’exception Ă  cette pratique est le commit initial pour un nouveau projet ou une nouvelle catĂ©gorie. Ces commits sont parfois de grande taille, car ils introduisent souvent les versions créées Ă  partir de rien pour de nombreux articles Ă  la fois, de façon Ă  fournir un schĂ©ma organisationnel pour le travail ultĂ©rieur.

  • Si vous incorporez du feedback ou que vous voulez destiner un ensemble de modifications Ă  une personne ou une Ă©quipe particuliĂšre pour rĂ©vision, utilisez @mention pour indiquer la personne dont vous incorporez les suggestions. Par exemple : « Incorporation du feedback de @octocat Â» ou « Mise Ă  jour de l’exactitude des Ă©tapes de configuration de la facturation - cc @monalisa Â».

  • Si un commit rĂ©sout un problĂšme, vous pouvez rĂ©fĂ©rencer le numĂ©ro du problĂšme dans le commit : un lien vers le commit va alors s’afficher dans la chronologie de la conversation sur le problĂšme : « RĂ©sout #1234 - ajoute des Ă©tapes pour la sauvegarde de la machine virtuelle avant la mise Ă  niveau Â».

    Remarque

    En rĂšgle gĂ©nĂ©rale, nous ne fermons pas un problĂšme via un commit. Pour fermer un problĂšme, ouvrez une demande de tirage et ajoutez « Ferme #1234 Â» Ă  la description. Le problĂšme liĂ© est fermĂ© quand la demande de tirage est fusionnĂ©e. Pour plus d’informations, consultez « Relier une demande de tirage Ă  un problĂšme Â».

  • RĂ©digez des messages clairs, dĂ©taillĂ©s et impĂ©ratifs pour les commits. Par exemple : « Ajouter un article conceptuel sur l’authentification Ă  deux facteur Â», et non pas « Ajouter des informations Â».

  • Essayez de ne pas laisser des modifications non commitĂ©es dans votre branche locale quand vous arrĂȘtez de travailler pour la journĂ©e. DĂ©terminez un bon point d’arrĂȘt, et commitez et envoyez vos modifications afin que votre travail soit sauvegardĂ© dans le dĂ©pĂŽt distant.

  • Envoyez sur GitHub seulement aprĂšs avoir effectuĂ© quelques commits. Envoyer aprĂšs chaque commit ajoute du bruit Ă  nos canaux d’opĂ©rations sur Slack et provoque l’exĂ©cution de builds inutiles.

Résolution des conflits de fusion

Quand vous tentez de fusionner deux branches qui contiennent des modifications diffĂ©rentes apportĂ©es Ă  la mĂȘme partie d’un fichier, vous rencontrez un conflit de fusion. Dans notre workflow, cela se produit le plus souvent lors de la fusion de main dans une branche de rubrique locale.

Il existe deux façons de gĂ©rer les conflits de fusion :

  • Modifiez le fichier dans votre Ă©diteur de texte et choisissez les modifications Ă  conserver. Commitez ensuite le fichier mis Ă  jour dans votre branche de rubrique Ă  partir de la ligne de commande.
  • RĂ©solution d’un conflit de fusion sur GitHub.

Résoudre les conflits de fusion en modifiant le fichier et en commitant les modifications

  1. Sur la ligne de commande, prenez note des fichiers qui contiennent des conflits de fusion.

  2. Ouvrez le premier de ces fichiers dans votre éditeur de texte.

  3. Dans le fichier, recherchez les marqueurs de conflit de fusion.

     <<<<<<< HEAD
     Here are the changes you've made.
     =====================
     Here are the changes from the main branch.
     >>>>>>> main
    
  4. DĂ©cidez des modifications Ă  conserver, et supprimez les modifications non souhaitĂ©es et les marqueurs de conflit de fusion. Si vous devez apporter d’autres modifications, vous pouvez le faire en mĂȘme temps. Par exemple, vous pouvez remplacer les cinq lignes indiquĂ©es dans l’exemple de code prĂ©cĂ©dent par une seule ligne :

    Here are the changes you want to use.
    

    S’il existe plusieurs fichiers avec des conflits de fusion, rĂ©pĂ©tez les Ă©tapes prĂ©cĂ©dentes jusqu’à avoir rĂ©solu tous les conflits.

    Remarque

    Vous devez faire attention lors de la rĂ©solution des conflits de fusion. Vous allez parfois simplement accepter vos propres modifications, parfois utiliser les modifications amont de la branche main, et parfois combiner les deux ensembles de modifications. Si vous n’ĂȘtes pas sĂ»r de la meilleure rĂ©solution, faites attention si vous remplacez des modifications de l’amont, car elles peuvent avoir Ă©tĂ© apportĂ©es pour des raisons spĂ©cifiques dont vous n’avez pas connaissance.

  5. Dans le terminal, indexez le ou les fichiers que vous venez de modifier.

    git add changed-file-1.md changed-file-2.md
    
  6. Commitez les fichiers.

    git commit -m "Resolves merge conflicts"
    
  7. Envoyez les modifications commitées au dépÎt distant sur GitHub.

    git push
    

CrĂ©ation d’une demande de tirage

Nous vous recommandons d’ouvrir auparavant votre demande de tirage sur GitHub. CrĂ©ez la demande de tirage en tant que brouillon jusqu’à ce que vous soyez prĂȘt Ă  ce qu’elle soit rĂ©visĂ©e. Chaque fois que vous envoyez des modifications, vos commits sont ajoutĂ©s Ă  la demande de tirage.

Remarque

Vous pouvez accéder rapidement aux demandes de tirage que vous avez créées en cliquant sur Demandes de tirage en haut de chaque page sur GitHub.

Pour plus d’informations, consultez « CrĂ©ation d’une demande de tirage Â».