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
Prochaine révisionLes deux révisions suivantes
gestion_configuration:git:commits [2017/02/03 15:21] – [Cherry-Pick de commits] sgariepygestion_configuration:git:commits [2019/11/29 15:56] – [Signer les commits (mac)] 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 20: Ligne 24:
 [[http://stackoverflow.com/questions/179123/how-to-modify-existing-unpushed-commits|Voir les commentaires à ce sujet sur SO]] [[http://stackoverflow.com/questions/179123/how-to-modify-existing-unpushed-commits|Voir les commentaires à ce sujet sur SO]]
  
 +
 +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]]
  
 ===== Cherry-Pick de commits ===== ===== 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.
  
 Pour appliquer un commit d'une autre branche à la branche courante: Pour appliquer un commit d'une autre branche à la branche courante:
  
   $ git cherry-pick <commit-hash>   $ git cherry-pick <commit-hash>
-  + 
 +  $ git cherry-pick 91e263a 
 + 
 +Ceci aura pour effet d'avoir un commit supplémentaire sur la page actuelle, avec le même message et le même auteur que le commit original. 
 + 
 +==== Liste des commits d'une autre branche ==== 
 + 
 +On utilise la commande [[changements|log]] pour voir les commits d'une autre branche et faire le cherry-pick. 
 Liste des commits sur une autre branche avec le hash: Liste des commits sur une autre branche avec le hash:
  
Ligne 32: Ligne 58:
   $ 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).
 +
 +
 +====== 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