Git Commit crée des snapshots et permet d’en­re­gis­trer pas à pas les mo­di­fi­ca­tions. Cette commande fait partie des commandes les plus im­por­tantes lorsque vous tra­vail­lez sur un projet.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Git Commit, c’est quoi ?

La commande Git Git Commit fait partie des commandes les plus im­por­tantes et les plus utilisées lors du travail sur un projet. Une fois que vous avez apporté les mo­di­fi­ca­tions à votre projet, que vous les avez testées sous tous les angles et que le résultat vous convient, utilisez Git Commit pour créer un ins­tan­tané de l’état actuel. Git considère ce snapshot comme une version sûre et n’y apporte de mo­di­fi­ca­tions qu’en cas de demande explicite. Si vous tra­vail­lez avec un dépôt local, Git Commit y crée également le snapshot sans que cela n’impacte les autres dépôts qui peuvent y accéder par Git Push et Git Pull.

C’est aussi la dif­fé­rence entre Git et SVN. L’approche dé­cen­tra­li­sée de Git permet aux dé­ve­lop­peurs de tra­vail­ler si­mul­ta­né­ment sur un seul et même projet. Chaque membre de l’équipe est en mesure de consigner son propre état d’avan­ce­ment dans le dépôt local avec Git Commit, ce qui permet non seulement de conserver les mo­di­fi­ca­tions à un instant donné, mais aussi d’accéder plus tard à ce même état. Cette fonc­tion­na­lité améliore con­si­dé­ra­ble­ment le niveau de sécurité en mettant à l’abri des erreurs. Il vaut donc mieux effectuer des Git Commits à in­ter­valles réguliers après des mo­di­fi­ca­tions im­por­tantes.

Fonc­tion­ne­ment et syntaxe de Git Commit

Le travail en en­vi­ron­ne­ment isolé permet de re­cher­cher la meilleure solution à un problème sans avoir à modifier le dépôt central. Une fois que la mo­di­fi­ca­tion a été mi­nu­tieu­se­ment testée, vous pouvez l’appliquer à l’ensemble du projet. C’est pourquoi Git Commit conserve tous les états de sau­ve­garde in­di­vi­duels, vous per­met­tant ainsi de revenir sur des snapshots plus anciens. La syntaxe de Git Commit est en principe toujours la même, elle peut être complétée par des arguments. La commande standard suivante permet d’exécuter un Git Commit de l’index. Ajoutez ensuite votre message via l’éditeur de texte et en­re­gis­trez le snapshot.

git commit

Autres options de Git Commit

Avec certains arguments pour Git Commit, il est possible de pa­ra­mé­trer le snapshot en question en amont pour optimiser le flux de travail.

En­re­gis­trer les mo­di­fi­ca­tions dans la copie de travail

L’argument -a permet de créer un snapshot de toutes les mo­di­fi­ca­tions dans le ré­per­toire de travail. Tous les fichiers ajoutés à un moment donné au dépôt local via Git Add seront pris en compte. Voici à quoi ressemble la commande cor­res­pon­dante :

git commit -a

Insérer un message

L’option -m permet de se passer de l’éditeur de texte. Comme mentionné ci-dessus, il est nor­ma­le­ment demandé d’insérer également un message ex­pli­ca­tif lors de la création d’un snapshot par Git Commit. L’argument -m permet de combiner les deux étapes.

git commit -m "Votre message "

Com­bi­nai­son des deux options

Il est aussi possible de combiner les deux options décrites ci-dessus pour les uti­li­sa­teurs prin­ci­paux. Toutes les mo­di­fi­ca­tions dans le ré­per­toire de travail seront ainsi prises en compte avec un message ex­pli­ca­tif envoyé di­rec­te­ment avec.

git commit -am "Votre message"

Modifier les Git Commits

Cette option permet de modifier votre dernier Git Commit. Les nouvelles mo­di­fi­ca­tions sont ajoutées au dernier snapshot et sont faites par l’éditeur de texte.

git commit --amend

Exemple de Git Commit

Nous allons main­te­nant voir à quoi ressemble Git Commit dans la pratique. Dans cet exemple, nous avons travaillé sur un fichier et sou­hai­tons main­te­nant en­re­gis­trer les mo­di­fi­ca­tions. Pour cela, déplaçons d’abord le fichier dans la zone de staging à l’aide de la commande Git Add :

git add exemple.py

Avec la commande Git Status, vérifions main­te­nant si le fichier a été placé dans la zone de staging :

git status
On branch main
Changes to be committed:
(use "git reset HEAD <file>…" to unstage)</file>
new file: exemple.py

Si son statut est correct, exécutez alors Git Commit :

git commit

Vous accédez ensuite à l’éditeur de texte. Dans l’absolu, vous pouvez rédiger librement votre message. Cependant, l’usage est de commencer par un résumé de 50 ca­rac­tères environ, puis d’insérer une ligne vide et de rédiger ensuite une ex­pli­ca­tion précise des dif­fé­rentes mo­di­fi­ca­tions. C’est un moyen de s’assurer que tous les membres de l’équipe com­pren­nent ra­pi­de­ment vos mo­di­fi­ca­tions. Les lignes qui com­men­cent par un dièse (#) sont ignorées dans l’ex­pli­ca­tion, et il est im­pos­sible de faire un Git Commit avec un champ message vide.

Effacer des Git Commits

En principe, il est possible de supprimer un Git Commit, même si la manœuvre n’est re­com­man­dée que dans des cas ex­cep­tion­nels. En effet, la sup­pres­sion peut entraîner certains problèmes, notamment lors du travail en équipe. En sup­pri­mant un Git Commit dans votre ré­fé­ren­tiel local alors que les membres de votre équipe con­ti­nuent à tra­vail­ler avec l’ancien état, les points de départ ne seront plus les mêmes, ce qui peut être source d’erreurs lors de la fusion. La commande Git Revert permet d’annuler les mo­di­fi­ca­tions sans modifier l’his­to­rique de votre dépôt. Pour supprimer dé­fi­ni­ti­ve­ment un Git Commit, utilisez la commande Git Reset. Comme les autres, elle figure dans notre Git Cheat Sheet avec PDF à té­lé­char­ger.

Conseil

Mettez votre propre projet en ligne en trois étapes seulement ! Avec Deploy Now de IONOS, exécutez Git Push, Build et Deploy fa­ci­le­ment et profitez d’autres fonc­tion­na­li­tés utiles comme l’ins­tal­la­tion rapide, avec un système vraiment évolutif !

Aller au menu principal