D'accord. Si je suis sur une branche (par exemple working
), et que je veux fusionner les modifications d'une autre branche (par exemple master
), alors j'exécute la commande git-merge master
sur la working
branche, et les modifications sont fusionnées sans rebaser l'historique du tout. Si je cours git-rebase master
, les modifications dans master
sont rebasées pour être placées en haut de ma working
branche. Mais que se passe-t-il si je veux fusionner les modifications de master
mais rebaser mes modifications working
pour être au top? Comment je fais ça? Cela peut-il être fait?
Je pourrais courir git-rebase working
sur ma master
branche pour mettre mes modifications en tête dans la master
branche, mais j'aimerais pouvoir le faire dans ma working
branche, et je ne sais pas comment. Le plus proche que je puisse penser est de créer une nouvelle branche à partir de master
puis de rebaser working
les modifications apportées par-dessus, mais j'aurais alors une nouvelle branche au lieu de la modifier working
.
la source
git rebase working
déplaceraitmaster
les modifications (après le point quiworking
s'est ramifié) pour être au sommet de laworking
branche - mais ce n'est pas une chose très sensée à faire pourmaster
:)Une autre façon de voir cela est de considérer
git rebase master
comme:Ici, '
master
' est la branche amont , et cela explique pourquoi, lors d'un rebase,ours
ettheirs
sont inversés .la source
git difftool
'horrible gauche / droite de l'. Un peu hors sujet, mais pourdifftool
moi, je m'en tiens à git-meld et j'aime les noms comme "working-dir", "stash @ {0}", etc.git checkout branch_to_update git rebase master
j'obtiens dans git log les commits de master au-dessus de la branche locale, au contraire?