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.
-
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
-
Passez à la branche par défaut :
main
.git checkout main
-
Obtenez les commits les plus récents auprÚs du dépÎt distant.
git pull origin main
-
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.
-
-
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
-
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
-
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
-
-
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Ă©rationsadd
etcommit
. -
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
etgit 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
-
Sur la ligne de commande, prenez note des fichiers qui contiennent des conflits de fusion.
-
Ouvrez le premier de ces fichiers dans votre éditeur de texte.
-
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
-
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. -
Dans le terminal, indexez le ou les fichiers que vous venez de modifier.
git add changed-file-1.md changed-file-2.md
-
Commitez les fichiers.
git commit -m "Resolves merge conflicts"
-
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 ».