[GIT] rebase pré branche

rebase pré branche [GIT] - Divers - Programmation

Marsh Posté le 22-08-2023 à 14:39:02    

Bonjour,  
 
Mon repo ressemble à cela  
 

A-B-C-D-E-F-G-H
         \I-J-K


 
J'aimerais Fusionner les commit BCD pour obtenir cela
 

A-BCD-E-F-G-H
       \I-J-K


 
 
je pars donc sur un rebase
 
$>git checkout D
$>git rebase -i HEAD~3
 
r BCD
f C
f D
 
et là je me retrouve avec un commit flottant avec le quel je ne sais pas quoi faire  
il me demande de le rattacher à mon arbre sous la forme d'une branche (je suppose qu'il est paumé car je suis en milieu de branche, et en plus avant la nouvelle branche partant de E)  
ou que je suis partit d'un commit spécifique et non d'un bout de branche
 
j'ai donc cela

A-B-C-D-E-F-G-H
         \I-J-K
 
 BCD  


 
 
 
 


Message édité par une IA le 22-08-2023 à 14:42:48
Reply

Marsh Posté le 22-08-2023 à 14:39:02   

Reply

Marsh Posté le 22-08-2023 à 14:57:00    

git rebase -i <hash de A>  
 
ensuite tu fusionnes


---------------

Reply

Marsh Posté le 22-08-2023 à 15:11:13    

flo850 a écrit :

git rebase -i <hash de A>  
 
ensuite tu fusionnes


c'est bien la fusion qui me pose problème
 
cela me donne l'impression que je vaise devoir faire
 
brancher mon commit flottant sur A  
 


/BCD
A-B-C-D-E-F-G-H
         \I-J-K  


 
le merger a E
 


/BCD---\
A-B-C-D-E-F-G-H
         \I-J-K  


 
et ensuite supprimer les commit B,C,D
 


/BCD---\
A       E-F-G-H
         \I-J-K  


 
 
n'y a t'il pas moyen de faire plus simple ?

Reply

Marsh Posté le 22-08-2023 à 15:17:26    

[:cerveau klem] peut être brancher mon commit flottant sur A  
 


/BCD
A-B-C-D-E-F-G-H
         \I-J-K  


 
et là faire un rebase de E sur BCD
 


 /BCD-E-F-G-H
/      \I-J-K  
A-B-C-D


 
 
et là faire un git reset -hard sur D,C,B
 
est-ce possible ?

Reply

Marsh Posté le 22-08-2023 à 15:22:55    

tu es sur que ce n'est pas le git checkout D qui pose problème ?


---------------

Reply

Marsh Posté le 22-08-2023 à 15:29:55    

flo850 a écrit :

tu es sur que ce n'est pas le git checkout D qui pose problème ?


 
Oui car c'est checkout qui me détache de la Tête de Branche  
 
 

A-B-C-D-E-F-G-H
         \I-J-K


 
si je rebase depuis la tête (de la branche du commit H)
 
$>git checkout H
$>git rebase -i HEAD~7
 
p B
f C
f D
p E
p F
p G
p H
 
 
il rebase et me produit cet arbre
 

A-B-C-D-E-BCD-E-F-G-H
         \I-J-K


 
Comme si il faisait son commit flotant  (ici BCD-E-F-G-H)
et venait écraser simplement la branche en cours a partir du dernier départ de branche (ici E) [:cerveau zytrasnif]


Message édité par une IA le 22-08-2023 à 15:33:05
Reply

Marsh Posté le 22-08-2023 à 18:37:36    

Tu as peut être déjà suivi l'explication de ce lien, mais au cas ou.
 
https://kandran.fr/git-fusionner-pl [...] -ensemble/

Reply

Marsh Posté le 23-08-2023 à 09:37:00    

c'est pour ça que je dis de ne pas faire le checkout , juste le rebase


---------------

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed