Outils pour utilisateurs

Outils du site


gestion_configuration:git:commits

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
gestion_configuration:git:commits [2017/02/03 16:04] – [Liste des commits d'une autre branche] sgariepygestion_configuration:git:commits [2020/03/10 19:04] – [Annuler un commit] sgariepy
Ligne 1: Ligne 1:
 ====== Gestion des commits ====== ====== Gestion des commits ======
  
-===== Commiter les changements =====+Cette page explique certaines opérations courantes sur les commits (''git commit'', ''git log''). 
 + 
 +====== Commiter les changements ======
  
 Avec message: Avec message:
Ligne 11: Ligne 13:
  
  
 +Spécifier l'auteur:
  
-===== Changer le message d'un commit =====+  $ git commit --author="User Name <username@domain.com>" -m "The commit message" 
 +====== Changer le message d'un commit ======
  
 Le commit ne doit pas avoir été poussé. Le commit ne doit pas avoir été poussé.
Ligne 21: Ligne 25:
  
  
-===== Cherry-Pick de commits =====+Pour changer le message d'un X message précédent non poussé : 
 + 
 +  $ git rebase -i HEAD~X 
 + 
 +Changer les messages dans l'éditeur.  Mettre ''edit'' au lieu de ''pick''
 + 
 +  $ git commit --amend 
 +  $ git rebase --continue 
 + 
 + 
 +[[https://stackoverflow.com/questions/179123/how-to-modify-existing-unpushed-commits|Source]] 
 + 
 + 
 +====== Annuler un commit ====== 
 + 
 +Annuler le dernier commit et garder les changements: 
 + 
 +  $ git reset --soft HEAD^ 
 + 
 + 
 +Annuler le dernier commit et ne pas garder les changements: 
 + 
 +  $ git reset --hard HEAD^ 
 + 
 +Pour annuler les deux derniers commits: 
 + 
 +  $ git reset --hard HEAD^^ 
 +====== Cherry-Pick de commits ======
  
 Le **cherry-pick** permet de prendre un commit d'une autre branche et de l'appliquer sur la branche actuelle.  Ceci fonctionne avec le SHA-1 du commit.  On peut utiliser les premiers caractères du SHA1. Le **cherry-pick** permet de prendre un commit d'une autre branche et de l'appliquer sur la branche actuelle.  Ceci fonctionne avec le SHA-1 du commit.  On peut utiliser les premiers caractères du SHA1.
Ligne 42: Ligne 73:
   $ git log branche-courante..autre-branche --pretty="%h - %an, %ar : %s"   $ git log branche-courante..autre-branche --pretty="%h - %an, %ar : %s"
  
-On peut utiliser ''--no-pager'' pour avoir la sortie des commits directement dans le shell (stdout).+On peut utiliser ''%%--no-pager%%'' pour avoir la sortie des commits directement dans le shell (stdout). 
 + 
 + 
 +====== Chercher les commits par message ====== 
 + 
 +Rechercher ''test'' dans les messages de tous les commits: 
 + 
 +  $ git --no-pager log --all --pretty="%h - %an, %ar : %s" --grep='test' 
 + 
 + 
 +====== Signer les commits (mac) ====== 
 + 
 +Télécharger et installer GnuPG [[https://www.gnupg.org/download/|à partir de ce site]] (**GnuPG for OS X** - Installer for GnuPG). 
 + 
 +Une fois installé, ouvrir un terminal: 
 + 
 +  $ gpg2 --default-new-key-algo rsa4096 --gen-key 
 + 
 +Lister les pairs de clés: 
 + 
 +  $ gpg2 --list-secret-keys --keyid-format LONG 
 +  /Users/username/.gnupg/pubring.kbx 
 +  ---------------------------------- 
 +  sec   rsa4096/80D57A25EBAE32A0 2019-09-10 [SC] [expires: 2022-09-09] 
 +        EB3112493D4B76016338A78980F57E25EBAE23A0 
 +  uid                 [ultimate] Stéphane Gariépy <email@example.com> 
 +  ssb   rsa4096/0E45DE2D3A52DF89 2019-09-10 [E] [expires: 2022-09-09] 
 + 
 +Dans l'exemple précédent, la clé voulue a le ID ''80D57A25EBAE32A0''
 + 
 +Exporter la clé publique en faisant la commande suivante en ayant le bon identifiant de clé : 
 + 
 +  $ gpg2 --armor --export 80D57A25EBAE32A0 
 + 
 + 
 +Ajouter la clé publique dans la section **GPG Keys** de GitLab/GitHub. 
 + 
 +Avec le même identifiant de clé, ajouter dans la config de Git: 
 + 
 +  $ git config --global user.signingkey 80D57A25EBAE32A0 
 + 
 + 
 +====== Supprimer des fichiers commités ====== 
 + 
 + 
 + 
 +  $ echo 'node_modules' >> .gitignore 
 +  $ git rm -r --cached node_modules 
 +  $ git commit -am 'ignore node_modules' 
 + 
 + 
 + 
 + 
 + 
 +=> Source: [[https://help.github.com/en/articles/adding-a-new-gpg-key-to-your-github-account|Adding a new GPG key to your GitHub account]] 
 + 
 + 
 +====== Outils ====== 
 + 
 +  * [[https://github.com/sjurba/rebase-editor/|Rebase Editor]] 
 + 
 + 
 + 
gestion_configuration/git/commits.txt · Dernière modification : 2022/02/02 00:42 de 127.0.0.1