Outils pour utilisateurs

Outils du site


tuto:linux: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édentesRévision précédente
Prochaine révision
Révision précédente
tuto:linux:git [2018/03/22 21:16] – [rebase] roottuto:linux:git [2018/09/25 19:15] (Version actuelle) – [Astuces] root
Ligne 70: Ligne 70:
   * Remplace tous les nom et email d'un auteur par un autre pour l'ensemble des [[#commit]] :   * Remplace tous les nom et email d'un auteur par un autre pour l'ensemble des [[#commit]] :
 <xtermrtf> <xtermrtf>
-$ git filter-branch --commit-filter ' +$ git filter-branch --commit-filter '                                                                                       
-         if [ "$GIT_AUTHOR_EMAIL" = "schacon@localhost" ];+         if [ "$GIT_AUTHOR_NAME" = "root" ];
          then          then
-                 GIT_AUTHOR_NAME="Scott Chacon"; +                 GIT_AUTHOR_NAME="Ghislain LE MEUR"; 
-                 GIT_AUTHOR_EMAIL="schacon@example.com";+                 GIT_COMMITTER_NAME="Ghislain LE MEUR"; 
 +                 GIT_AUTHOR_EMAIL="gigi206@users.noreply.github.com"; 
 +                 GIT_COMMITTER_EMAIL="gigi206@users.noreply.github.com"; 
                  git commit-tree "$@";                  git commit-tree "$@";
          else          else
                  git commit-tree "$@";                  git commit-tree "$@";
 +         fi' -f HEADt commit-tree "$@";
          fi' HEAD          fi' HEAD
 </xtermrtf> </xtermrtf>
Ligne 482: Ligne 485:
 </xtermrtf> </xtermrtf>
  
-  * Détruit la branche gigix :+  * Détruit la branche gigix localement :
 <xtermrtf> <xtermrtf>
 $ git branch -d gigix $ git branch -d gigix
 +</xtermrtf>
 +
 +  * Détruit la branche distante gigix sur le remote origin :
 +<xtermrtf>
 +$ git push -u origin -d gigix
 </xtermrtf> </xtermrtf>
  
Ligne 611: Ligne 619:
 </note> </note>
  
-  * Ramène les commits de la branche dev vers la branche master :+  * Rejoue les modifications de dev sur le sommet de la branche master :
 <xtermrtf> <xtermrtf>
-$ git rebase dev master +$ git rebase master dev 
-$ git rebase -i dev master+#ou 
 +$ git rebase -i master dev 
 +#On peut ensuite avancer master au niveau de dev et supprimer dev 
 +$ git checkout master 
 +$ git merge dev --ff-only 
 +$ git branch -d dev
 </xtermrtf> </xtermrtf>
 +
 +  * Récupérer une sous branche d'une branche dans master :
 +Prenons le cas ci-dessous :
 +{{ :tuto:linux:interesting-rebase-1.png?nolink |}}
 +
 +Pour fusionner la sous-branche client de server dans master, on fera :
 +<xtermrtf>
 +$ git rebase --onto master server client
 +</xtermrtf>
 +
 +Ce qui donnera :
 +{{ :tuto:linux:interesting-rebase-2.png?nolink |}}
  
 ==== merge ==== ==== merge ====
Ligne 633: Ligne 658:
 <xtermrtf> <xtermrtf>
 $ git merge test --no-ff $ git merge test --no-ff
 +</xtermrtf>
 +
 +  * Merge une branche dans une autre sans modifier l'historique (exemple : merge la branche gigix dans la branche master) :
 +<xtermrtf>
 +$ git checkout master
 +$ git merge --squash gigix
 +$ git diff --staged
 +$ git commit -a -m "New feature gigix"
 +#Si on souhaite supprimer gigix
 +$ git push origin -d gigix
 </xtermrtf> </xtermrtf>
  
tuto/linux/git.1521753401.txt.gz · Dernière modification : 2018/03/22 21:16 de root