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:56] – [Cherry-Pick de commits] sgariepygestion_configuration:git:commits [2020/03/10 19:02] – [Cherry-Pick de commits] 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 commit et garder les changements: 
 + 
 +  $ git reset --soft 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 32: Ligne 59:
  
 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. 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:
  
   $ git log branche-courante..autre-branche --pretty=oneline   $ git log branche-courante..autre-branche --pretty=oneline
   $ 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