Commandes Linux : git commit

GIT COMMIT

 

 
Git enregistre une image (snapshot) de tous les fichiers de la copie de travail dans le dépôt local. Git fait en sorte que les commits soient aussi légers que possible donc il ne recopie pas tout le répertoire à chaque commit. En fait, Git n’enregistre que l’ensemble des changements (« delta ») depuis la version précédente du dépôt, son commit parent.
 

Enregistrer les modifications indexées (en cache, staging area) dans le dépôt local :

Les modifications sont ainsi validées, mais restent locales.

$ git commit -m "Message relatif au commit"

Ou, si l’on souhaite ouvrir l’éditeur de texte par défaut pour saisir le message du commit :

$ git commit

La première ligne, le sujet du commit, fera moins de 50 caractères. Ce sera la sortie de la commande git log --oneline.
Ensuite une ligne vide.
Et enfin un ou plusieurs paragraphes d’explications détaillées sur le commit. Mais chaque ligne devra être limitée à 72 caractères.
ex :

$ git commit
Première ligne de sujet du commit

Développement du commit avec explications détaillées.
Modifications apportées par rapport au précédent commit :
 * Ajout de telle ligne
 * Suppression de celle-ci

Mais aussi :
 - Ajout de la fonctionnalité A
 - Ajout de la fonctionnalité B

Ajout d'une ligne de plus de 72 caractères pour voir ce que cela fait lors de l'affichage des logs complets.

# Veuillez saisir le message de validation pour vos modifications. Les lignes
# commençant par '#' seront ignorées, et un message vide abandonne la validation.
#
# Date :       Fri Jun 29 12:00:04 2018 +0200
#
# Sur la branche master
# Votre branche est en avance sur 'origin/master' de 1 commit.
#   (utilisez "git push" pour publier vos commits locaux)
#
# Modifications qui seront validées :
#       modifié :         test.txt
#

Affichage oneline :

$ git log --oneline -1
46a0f4a Première ligne de sujet du commit
96b893f First commit

Affichage sur un terminal de 80 caractères (valeur par défaut) :

$ git log -1
commit 46a0f4aed978d238ea06567e8cee83e0579e9216
Author: darwinos 
Date:   Fri Jun 29 12:00:04 2018 +0200

    Première ligne de sujet du commit
    
    Développement du commit avec explications détaillées.
    Modifications apportées par rapport au précédent commit :
     * Ajout de telle ligne
     * Suppression de celle-ci
    
    Mais aussi :
     - Ajout de la fonctionnalité A
     - Ajout de la fonctionnalité B
    
    Ajout d'une ligne de plus de 72 caractères pour voir ce que cela fait lors d
e l'affichage des logs complets.

L’éditeur sera déterminé en fonction de :

  1. GIT_EDITOR (variable d’environnement)
  2. core.editor (paramètre de configuration : local, puis global, puis system)
  3. VISUAL (variable d’environnement)
  4. EDITOR (variable d’environnement)

Pour ajouter les modifications (des fichiers déjà connus et trackés) à l’index tout en les commitant :

$ git commit -am "Message relatif au commit"

ex :

$ git commit -am "Modif README.md, Del tempfile4.txt"
[master 5616d53] Modif README.md, Del tempfile4.txt
 2 files changed, 2 insertions(+)
 delete mode 100644 tempfile4.txt

 

Apporter de modifications au précédent commit

Il s’agit ici de modifier des fichiers et d’inclure a posteriori ces modifications à un commit déjà validé.
Généralement il s’agit de modifications mineures que l’on a oublié d’ajouter au précédent commit.

$ nano filename
$ git add filename
$ git commit --amend -m "Message remplaçant le message du précédent commit"

ou, alternativement, on peut rétablir le commit antérieur et apporter les modifications désirées :

$ git reset HEAD~1
$ nano filename
$ git add filename
$ git commit -m "Message remplaçant le message du précédent commit"

La commande git reset ci-dessus se déplace à l’état staging juste avant le commit à redéfinir. Les modifications de fichiers sont présentes dans l’index.
 

Fermer le menu
%d blogueurs aiment cette page :