Cours
Tutoriel Git Commit : Comment curer et documenter les changements de code ?
Git est devenu le système de référence pour la gestion des modifications apportées aux bases de code. L'une des commandes les plus importantes de Git est git commit
, qui capture un instantané de l'historique de votre projet à un moment précis.
Il est essentiel de savoir comment utiliser efficacement le site git commit
pour conserver un historique de projet propre et organisé. La rédaction de messages de validation pertinents et le respect des meilleures pratiques garantissent que votre référentiel reste gérable, que vous travailliez seul ou au sein d'une équipe plus importante.
Ce tutoriel a pour but de vous apprendre à utiliser la commande git commit, à écrire des messages de commit clairs et informatifs, et à adopter les meilleures pratiques pour un contrôle de version réussi.
Allons-y !
Qu'est-ce qu'un Git Commit ?
L'un des éléments les plus fondamentaux du contrôle de version dans Git iest la commande git commit
. Un site git commit
capture un instantané de l'état actuel de vos fichiers mis en scène et les enregistre dans l'historique du référentiel. Il crée un identifiant unique pour les modifications et enregistre des métadonnées essentielles, telles que l'auteur, l'horodatage et un message de validation des modifications des plus descriptifs. Cela permet de suivre les modifications, de les comprendre et de les annuler si nécessaire.
Les développeurs peuvent également ajouter un message de validation, qui décrit brièvement les modifications apportées et fournit le contexte et le raisonnement à l'origine de la mise à jour.
Essentiellement, les commits sont importants car ils permettent aux développeurs de.. :
- Cursus : Les commits constituent un registre clair des modifications apportées à la base de code au fil du temps.
- Collaborez : Dans une équipe, les commits aident les développeurs à comprendre quelles modifications ont été apportées, par qui et pourquoi.
- Revenir à l'état précédent : Si un bogue ou un problème survient, les commits permettent aux développeurs de revenir à un point stable du projet avant l'introduction du changement problématique.
- Conservez des antécédents irréprochables : La gestion de grands projets et le diagnostic des problèmes sont facilités par des commits structurés et fréquents, accompagnés de messages significatifs.
> Si vous débutez avec Git et GitHub, le cours GitHub Foundations vous propose une formation sur GitHub.e cursus GitHub Foundations vous offre vous aide à maîtriser les éléments essentiels du contrôle de version et des flux de travail collaboratifs.
Syntaxe de base de Git Commit
Pour utiliser Git de manière efficace, vous devez comprendre la syntaxe de base et la structure des commits. Cette section passe en revue les principaux éléments du processus de validation afin de s'assurer que les modifications sont capturées et documentées correctement.
Commande de base
La manière la plus simple de créer un commit est d'utiliser la commande suivante :
git commit -m “Your commit message”
Ici, le drapeau -m
vous permet d'inclure un court message de livraison décrivant les changements. C'est ici que vous fournissez le contexte pour une référence future et une collaboration, par exemple :
git commit -m “Fix bug in user authentication”
Cette commande met en scène la validation et l'associe au message fourni.
Ce qui se passe lors d'une validation
Voici ce qui se passe sous le capot lorsque vous effectuez une validation :
- Changements d'étape: Avant de valider les modifications, vous devez les mettre en scène à l'aide de la commande
git add
. Cette opération prépare les fichiers modifiés à être inclus dans la prochaine livraison. Vous pouvez mettre en scène des fichiers individuels ou tous les fichiers modifiés.
git add file.txt #Stages one file
git add . #Stages all files in the current directory
- Prendre l'engagement : Une fois que vos modifications sont mises en page, la commande git commit prend un instantané des fichiers mis en page et les stocke dans le référentiel. Notez que l'instantané correspond à l'état actuel des fichiers.
- Mise à jour du référentiel: Après la validation, Git met à jour l'historique du projet pour enregistrer la validation avec toutes les validations précédentes. Chaque livraison agit comme un point de contrôle qui peut être annulé si nécessaire.
Rédiger des messages Git Commit efficaces
La rédaction de messages de validation clairs et significatifs est essentielle pour maintenir un historique de projet propre et compréhensible. Un message de validation bien rédigé sert également d'outil de communication, aidant les développeurs et les collaborateurs à comprendre rapidement l'objectif et le contexte de chaque modification.
Importance de bons messages d'engagement
Les bons messages d'engagement agissent comme une carte. Ils permettent de comprendre le raisonnement qui sous-tend chaque modification, ce qui s'avère très utile lors de l'examen ultérieur du code ou de la résolution de problèmes. Des messages de livraison bien rédigés facilitent également la détection des bogues, la compréhension de l'évolution des fonctionnalités et la navigation dans l'historique du dépôt.
Meilleures pratiques pour les messages de validation
Pour vous assurer que vos messages d'engagement sont utiles, suivez ces bonnes pratiques :
- Soyez descriptif : Un message de validation doit expliquer ce qui a été modifié et, le cas échéant, pourquoi la modification a été effectuée. Évitez les messages vagues ou génériques tels que "réparer" ou "mettre à jour". Visez plutôt la spécificité. Par exemple, "Corriger l'erreur de validation du formulaire de connexion" est beaucoup plus utile que "Corriger un bug".
- Utilisez le présent : Les messages d'engagement doivent être rédigés au présent. Cela donne l'impression que vous décrivez ce que la commission est en train de faire à ce moment-là. Par exemple, utilisez "Ajouter la validation de la connexion" au lieu de "Ajouter la validation de la connexion".
- Soyez bref et simple : Un message concis est plus lisible. Le résumé (la première ligne du message de validation) doit généralement comporter entre 50 et 72 caractères. Si vous avez besoin de plus d'explications, vous pouvez inclure une description plus longue dans les lignes suivantes. Cette approche permet de s'assurer que le message peut être facilement visualisé à l'aide de divers outils et interfaces Git.
- Utilisez des puces pour les changements détaillés : Si votre livraison implique plusieurs changements connexes, utilisez des puces dans la description étendue pour décomposer ce qui a été fait. Cela permet de créer une structure claire, plus facile à suivre.
> Si vous souhaitez aller plus loin que les bases des commile cours Git Intermédiaire aborde des concepts plus avancés tels quevous fait découvrir des concepts plus avancés comme amender, rebaser et gérer l'historique des livraisons en équipe.
Options avancées de Git Commit
Le drapeau -m
est une option couramment utilisée dans les commandes git commit, et il est suffisant pour une utilisation quotidienne. Cependant, plusieurs autres options avancées offrent une plus grande flexibilité et une plus grande efficacité dans la gestion des changements. Dans cette section, nous allons examiner ces options.
Engager sans mise en scène
Dans de nombreux cas, la mise en scène manuelle des fichiers avec git add
avant la livraison peut sembler inutile, en particulier lorsque tous les fichiers modifiés doivent être livrés. Pour accélérer ce processus, Git propose le drapeau -a
, qui met en scène tous les fichiers cursus et les commite en une seule étape. Cela signifie que toutes les modifications apportées aux fichiers précédemment suivis sont incluses dans la livraison sans qu'il soit nécessaire d'exécuter explicitement git add
.
Voici comment cela fonctionne :
git commit -a -m “Your commit message”
Modifier un engagement
Des erreurs peuvent se produire. Il peut arriver que vous deviez modifier une validation que vous venez d'effectuer. L'option --amend
vous permet de modifier le dernier commit au lieu d'en créer un nouveau. Cela vous permet de mettre à jour le message de livraison ou d'ajouter des fichiers supplémentaires à la même livraison.
Par exemple, pour corriger le message de la dernière livraison :
git commit --amend -m "Update commit message"
Ou, si vous avez oublié de mettre en scène un fichier, ajoutez d'abord le fichier, puis modifiez le commit :
git add missed-file.txt
git commit --amend
Cela remplace effectivement le commit précédent par le commit mis à jour.
Notez que la modification ne doit être effectuée que sur des commits qui n'ont pas été partagés avec d'autres (par exemple, qui n'ont pas été poussés vers un dépôt partagé) afin d'éviter de réécrire l'historique dont d'autres personnes pourraient dépendre !
Commiter avec les changements et les fichiers d'un commit spécifique
Parfois, vous devez corriger ou résoudre un problème dans un commit précédent sans apporter de modifications sans rapport avec celui-ci. Git propose l'option --fixup
, qui permet de créer un commit de suivi spécifiquement lié à un commit précédent. Ceci est particulièrement utile lorsque vous avez besoin de nettoyer l'historique des livraisons avant de fusionner vos modifications.
Par exemple, pour créer un correctif pour un commit spécifique :
git commit --fixup <commit-hash>
Cette commande créera un nouveau commit destiné à résoudre les problèmes du commit spécifié.
Plus tard, lorsque vous effectuerez un rebasement interactif, Git pourra automatiquement écraser ces commits de correction avec le commit original qu'ils référencent.
> Pour des flux de travail plus avancés comme l'écrasement des commits, vous pouvez suivre notre guide détaillé dans le tutoriel Git Squash Commits.dans le tutoriel Git Squash Commits.
Gérer les commits avec Git
Au fur et à mesure que votre projet évolue et que l'historique des livraisons augmente, la gestion des livraisons devient un aspect essentiel du maintien d'un référentiel organisé et navigable. Une gestion efficace des livraisons facilite le débogage, la collaboration et la conservation d'un historique propre et compréhensible.
Git fournit des outils puissants qui vous permettent d'afficher l'historique des commits et de réviser ou même d'annuler les changements si nécessaire. Savoir gérer ces commits peut faire gagner un temps considérable lors de la résolution de problèmes ou de l'affinement de l'historique de votre projet.
Consulter l'historique des livraisons
Un aspect crucial de la gestion des engagements est la compréhension de l'historique du projet. La commande git log
vous permet de consulter l'historique détaillé de vos modifications. En ce qui concerne le contexte, il permet de savoir quand les modifications ont été effectuées, qui les a effectuées et quels messages y étaient joints.
Par exemple, voici la commande de base git log
:
git log
Cela permet d'afficher les hachages des livraisons, les noms des auteurs, les dates et les messages de livraison.
Mais Git vous permet également de personnaliser la sortie du journal pour répondre à des besoins spécifiques. Par exemple, vous pouvez limiter le nombre de commits affichés comme suit :
git log -n 5 # shows the last 5 commits
Pour consulter les modifications apportées à chaque livraison, utilisez l'option -p
, qui affiche les différences pour chaque livraison.
Voici à quoi cela ressemble :
git log -p
Revenir sur un commit ou l'annuler
Il est parfois nécessaire de revenir en arrière ou d'annuler des modifications. Un moyen sûr d'annuler un commit est d'utilisergit revert command. Cette opération crée un nouveau commit qui annule les modifications introduites par un commit précédent sans modifier l'historique du commit.
Cette fonction est particulièrement utile lorsque vous avez déjà partagé des commits avec d'autres personnes et que vous souhaitez conserver l'historique intact.
Pour revenir sur une livraison, procédez comme suit :
git revert <commit-hash>
Cette commande applique l'inverse des modifications de la livraison spécifiée, les annulant de fait tout en conservant un historique transparent.
Réinitialisation d'une livraison
Dans certains cas, vous pouvez vouloir réinitialiser complètement votre référentiel à un état antérieur, en effaçant un ou plusieurs commits. La commande git resetd vous permet justement de le faire. Cependant, la réinitialisation d'un commit modifie l'historique des commits, il faut donc l'utiliser avec précaution, surtout si les changements ont déjà été poussés dans un dépôt partagé.
La réinitialisation de Git offre trois modes :
- Réinitialisation progressive : Ramène le pointeur de validation à la validation spécifiée, mais conserve les modifications dans le répertoire de travail et la zone de transit. Cette fonction est utile lorsque vous souhaitez refaire une livraison tout en conservant vos modifications.
git reset --soft <commit-hash>
- Remise à zéro mixte : Ramène le pointeur de validation à la validation spécifiée et conserve les modifications dans le répertoire de travail, mais efface la zone d'attente. Il s'agit du mode de réinitialisation par défaut de Git.
git reset --mixed <commit-hash>
- Remise à zéro : Ramène le pointeur de validation à la validation spécifiée et annule toutes les modifications dans le répertoire de travail et dans la zone d'attente. Cela revient essentiellement à ramener votre référentiel à l'état de la livraison choisie et supprime tous les changements effectués après la livraison.
git reset --hard <commit-hash>
La commande git reset
est un outil puissant, mais il est essentiel de comprendre ses implications (en particulier lorsque vous travaillez dans un environnement collaboratif).
Bonnes pratiques de validation dans Git
Un contrôle de version efficace ne se limite pas à la connaissance des commandes Git. Il implique également le respect de certaines bonnes pratiques pour maintenir un historique de projet propre, compréhensible et efficace. Ces pratiques vous aident non seulement à gérer votre propre travail, mais aussi à faciliter la contribution et la révision des modifications par les collaborateurs.
Engagez-vous fréquemment, mais restez modeste
Une bonne règle de base consiste à s'engager tôt et souvent, mais à faire en sorte que chaque engagement soit limité et ciblé. Cette approche garantit que chaque engagement représente une unité de travail distincte et logique.
La validation fréquente permet de diviser les modifications importantes en éléments gérables, ce qui facilite la révision, le test et le suivi de l'évolution de votre projet. En effectuant des modifications plus petites et isolées, vous réduisez également le risque d'introduire des erreurs complexes. En cas de problème, il est plus facile de l'isoler et de le résoudre lorsque les modifications sont granulaires.
N'engagez que les modifications qui s'y rapportent
Chaque engagement doit se concentrer sur une seule tâche ou un seul problème. Le fait de mélanger des modifications sans rapport les unes avec les autres dans un même commit rend plus difficile l'examen et la compréhension de l'intention qui sous-tend les modifications. Cela complique également le processus d'annulation ou de sélection de certaines modifications si nécessaire.
Par exemple, si vous travaillez sur une fonctionnalité mais que vous remarquez un bogue mineur ailleurs dans le code, il est préférable de traiter ces deux éléments comme deux commits distincts. Cela permet de comprendre clairement ce qui a été fait et pourquoi, et de s'assurer que chaque validation est significative et isolée.
Collaborer avec d'autres personnes sur l'historique des livraisons
Lorsque vous travaillez en équipe, il est essentiel de vous aligner sur vos collaborateurs en ce qui concerne le traitement et la présentation des livraisons. Il s'agit notamment de convenir d'un format cohérent pour les messages d'engagement et de veiller à ce que tout le monde respecte les meilleures pratiques. Les crochets Git, tels que les crochets de pré-commission, peuvent aider à appliquer des règles telles que le format des messages de commission ou l'exécution de tests avant qu'une commission ne soit autorisée.
La collaboration est également renforcée par des outils qui aident à gérer et à examiner les livraisons, tels que les plateformes d'examen du codecomme GitHub ou GitLab. Unhistorique des livraisons clair et bien documentépermet aux membres de l'équipe de comprendre plus facilement les changements, de discuter des améliorations et de faire avancer le projet de manière efficace.
> Vous souhaitez mettre de l'ordre dans les fichiers restants avant de vous engager ? Apprenez à utiliser git clean
dansce tutoriel sur la suppression des fichiers non suivis.
Résolution des problèmes courants de Git Commit
Les commits Git peuvent parfois entraîner des erreurs ou des problèmes qui peuvent ralentir votre flux de travail. Il est essentiel de comprendre comment résoudre ces problèmes courants pour maintenir un contrôle de version efficace et éviter des problèmes plus importants.
Erreurs dans le message d'engagement
Une erreur fréquente lors de la validation des modifications est d'oublier d'ajouter un message de validation ou d'utiliser accidentellement un message vague ou vide. Des messages de validation clairs et informatifs sont essentiels pour assurer le suivi des modifications et permettre aux collaborateurs de comprendre l'historique d'un projet. Git vous empêchera généralement de vous engager sans message, mais il est toujours possible de négliger la qualité du message lui-même.
Solution : Vérifiez toujours votre message de validation avant d'appuyer sur la touche "Entrée". Si vous soumettez accidentellement un commit avec un message vide ou peu clair, vous pouvez le corriger en utilisant la commande git commit --amend
pour modifier le message de commit le plus récent.
Conflits après la validation
Les conflits sont inévitables lorsque plusieurs personnes travaillent sur un même projet. Elles surviennent souvent après une livraison, lorsque vous fusionnez des branches ou que vous effectuez un rebasage. Un conflit survient lorsque Git ne peut pas résoudre automatiquement les différences entre deux commits, ce qui vous oblige à choisir manuellement les modifications à conserver.
Les conflits sont plus susceptibles de se produire lorsque deux contributeurs ou plus modifient la même section de code ou lorsque d'importants remaniements sont apportés à un projet. Bien qu'ils puissent être déconcertants, Git fournit les outils nécessaires pour résoudre ces conflits sans perdre de données.
Solution : Lorsqu'un conflit survient, Git marque les sections conflictuelles dans les fichiers, et vous devez les résoudre manuellement en éditant le fichier pour refléter les changements souhaités. Après avoir effectué les modifications nécessaires, mettez le fichier en scène avec git add
, puis complétez merge
ou rebase
en validant les modifications résolues. Des outils tels que l'éditeur de conflits de fusion de Git ou des outils de fusion externes peuvent également vous aider à résoudre les conflits plus efficacement.
Conclusion
La commande git commit
est un aspect fondamental du contrôle de version dans Git qui permet aux développeurs de créer des instantanés de leur travail qui peuvent être suivis, examinés et revisités au fil du temps. Les validations servent de jalons dans l'histoire d'un projet, en clarifiant les modifications apportées, les raisons pour lesquelles elles étaient nécessaires et la date à laquelle elles ont été mises en œuvre.
Dans ce tutoriel, nous avons abordé la syntaxe de base et le processus de validation, depuis la mise en place des fichiers avec git add
jusqu'à la finalisation de la validation avec git commit
. Nous avons discuté de l'importance de rédiger des messages d'engagement clairs et concis, en suivant les meilleures pratiques telles que la description des messages, l'utilisation du présent et la brièveté.
En outre, nous avons exploré des options avancées, telles que la validation sans mise en scène et la modification des validations, qui offrent une grande souplesse dans la gestion de vos modifications. Nous avons également étudié la manière de gérer les livraisons à l'aide de commandes telles que git log
, reverting et resetting.
Prêt à explorer GitHub plus en profondeur ? Notre cours GitHub Concepts aborde les forks, les branches, les issues et les meilleures pratiques de collaboration. Si vous vous préparez à un flux de travail ou à un entretien dans le monde réel, l' antisèche Git complète est une excellente référence à garder à portée de main !
Apprenez les bases de Git dès aujourd'hui
FAQ
Puis-je effectuer un commit sans message dans Git ?
Techniquement, oui, mais ce n'est pas recommandé. Si vous exécutez git commit
sans l'option -m
, Git ouvrira votre éditeur de texte par défaut afin que vous puissiez saisir un message de validation de manière interactive. Si vous sauvegardez et quittez sans rien écrire, Git peut annuler le commit ou enregistrer un message vide en fonction de votre configuration. Les messages Commit sont cruciaux pour le suivi des modifications - incluez-en toujours un !
Quelle est la différence entre git commit et git push ?
git commit
enregistre les modifications localement dans votre dépôt Git, tandis que git push
envoie ces modifications à un dépôt distant comme GitHub ou GitLab. Considérez les commits comme des instantanés locaux, et le push comme le moyen de partager ces instantanés avec d'autres.
Puis-je modifier un commit après l'avoir poussé ?
Oui, mais c'est risqué. Bien que vous puissiez modifier ou réécrire les commits à l'aide de commandes telles que git commit --amend
ou git rebase
, la modification des commits poussés peut entraîner des problèmes pour les collaborateurs. Si vous devez modifier un commit après l'avoir poussé, vous devrez probablement utiliser git push --force
, qui réécrit l'historique - à utiliser avec précaution dans les branches partagées.
Qu'est-ce qu'un commit Git signé ?
Un commit signé utilise GPG (GNU Privacy Guard) ou SSH pour vérifier cryptographiquement l'identité de l'auteur du commit. Ceci est particulièrement utile dans les environnements open source ou d'entreprise où la validation de l'auteur d'une modification est importante. Vous pouvez créer un commit signé en utilisant :
git commit -S -m "Your message"
Puis-je annuler une livraison sans perdre mes modifications ?
Oui ! Vous pouvez utiliser git reset --soft HEAD~1
pour annuler le dernier commit tout en conservant vos modifications à l'étape, ou git reset --mixed HEAD~1
pour les conserver dans votre répertoire de travail. C'est utile lorsque vous vous rendez compte que vous vous êtes engagé trop tôt ou avec le mauvais message.
Comment vérifier quels fichiers ont été inclus dans un commit spécifique ?
Vous pouvez courir :
git show --name-only
Cela vous montrera le message de livraison, le diff, et la liste des fichiers qui ont été modifiés dans cette livraison.
Existe-t-il un moyen d'imposer le formatage des messages de validation dans un projet ?
Oui. Vous pouvez utiliser des hooks Git comme commit-msg
pour appliquer des règles (par exemple, exiger des numéros de tickets JIRA ou un formatage spécifique). Des outils tels que Husky et Commitlint permettent d'automatiser ce processus dans les environnements d'équipe.

Apprenez-en plus sur Git avec ces cours !
Cours
Intermediate Git
Cours