informatique:scm:git

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édentes Révision précédente
Prochaine révision
Révision précédente
informatique:scm:git [2016/06/21 13:58] – [Utilisation courante] bn8informatique:scm:git [2022/06/14 09:08] (Version actuelle) bn8
Ligne 81: Ligne 81:
 ===== Accès au serveur ===== ===== Accès au serveur =====
 ==== Renseigner son profil git ==== ==== Renseigner son profil git ====
-  git config --global user.email "user@email.com" +<code bash>git config --global user.email "user@email.com" 
-  git config --global user.name "User Name"+git config --global user.name "User Name"</code>
  
 **Remarque : ** Les infos sont stockées dans //˜/.gitconfig// **Remarque : ** Les infos sont stockées dans //˜/.gitconfig//
Ligne 114: Ligne 114:
      
   * Modifier le dernier commit (non propagé) :   * Modifier le dernier commit (non propagé) :
 +    - Faire les modifications souhaitées et les ajouter avec la commande //git add//
 +    - Commiter en modifiant le dernier commit : <code bash>git commit --amend</code>
  
-    Faire le modification souhaité et les ajouter avec la commande //git add/+  * Modifier un commit spécifique (non propagé) : 
-    - Commiter en modifiant le dernier commit :<code bash>git commit --amend</code>+    * **Via //"fixup"// :** 
 +      commiter vos modifications à fusionner dans le précédent commit via la commande suivante en indiquant l'ID du commit à modifier <code bash>git commit --fixup=38b184620e5d0da47de4c6d7ed81e807af479fb2</code> 
 +      - exécuter ensuite la commande suivante en indiquant l'ID du commit à modifier (attention au ''^'' à la fin de l'ID du commit) :<code bash>git rebase --interactive '38b184620e5d0da47de4c6d7ed81e807af479fb2^' --autostash --autosquash</code> 
 +    * **Via une édition manuelle :** 
 +      exécuter la commande suivante en indiquant l'ID du commit à modifier (attention au ''^'' à la fin de l'ID du commit) : <code bash>git rebase --interactive '38b184620e5d0da47de4c6d7ed81e807af479fb2^' --autostash</code> 
 +      - Dans l'éditeur s'ouvrant, repérer la ligne spécifiant le commit à modifier et remplacer ''pick'' par ''edit''. Enregistrer et quitter l'éditeur. 
 +      - Effectuer la modification souhaitez puis commiter à l'aide de la commande suivante : <code bash>git commit --all --amend --no-edit</code> 
 +      - Vous pouvez constater que votre commit à bien été modifié à l'aide de la commande ''git show'' 
 +      - Pour revenir à votre //working tree// intégrant vos commits suivants, exécuter la commande suivante : <code bash>git rebase --continue</code>
  
   * Supprimer le dernier commit (en conservant les modifications) : <code bash>git reset HEAD^</code>   * Supprimer le dernier commit (en conservant les modifications) : <code bash>git reset HEAD^</code>
Ligne 125: Ligne 135:
  
 **Remarque : ** On peut rajouter un nom de fichier pour voir seulement les commits impactant ce fichier. **Remarque : ** On peut rajouter un nom de fichier pour voir seulement les commits impactant ce fichier.
 +
 +  * Générer des patchs à partir de vos commits :
 +    * repérer dans ''git log'' l'ID du commit précédent le(s) commit(s) pour lesquel vous souhaitez générer les patchs
 +    * lancer la commande suivante : <code bash>git format-patch [ID commit précédent]</code>
 +  * Appliquer un patch sans comiter : <code bash>git apply [patch]</code>
 +  * Appliquer un patch et le comiter avec les informations fournis dans celui-ci : <code bash>git am --signoff -k < [patch]</code>
 +**Remarques :**
 +  * le paramètre ''--signoff'' permet d'ajouter une ligne //Signed-off-by:// dans le message du commit avec vos informations.
 +  * le paramètre ''-k'' permet de conserver les éventuels flag présent dans le message de commit (infos entre crochets)
  • informatique/scm/git.1466517508.txt.gz
  • Dernière modification : 2016/06/21 13:58
  • de bn8