350 votes

Changer la base de la branche

J'ai un arbre comme celui-ci :

(commit 1) - master
                \-- (commit 2) - (commit 3) - demo
                                                \-- (commit 4) - (commit 5) - PRO

et je dois déplacer la branche PRO vers master

(commit 1) - master
                |-- (commit 2) - (commit 3) - demo
                \-- (commit 4) - (commit 5) - PRO

J'ai essayé un git rebase master depuis la branche PRO, mais rien ne se passe.

Pour clarifier : j'étais en train de travailler sur master et ensuite j'ai dû faire une démo produit (git checkout -b demo et quelques commits). Puis, par erreur, j'ai créé une autre branche à partir de demo (git checkout -b PRO et quelques commits) et maintenant je dois déplacer la branche PRO vers master en laissant demo intacte. À la fin, à la fois demo et PRO seront reliées à master.

0voto

Buksy Points 687

Une autre option non encore mentionnée serait d'utiliser l'interactive rebase où vous pouvez simplement marquer commit 2 & commit 3 pour être supprimé et ne garder que commit 1 & commit 4 & commit 5.

# Exécuter l'interactive rebase
git rebase -i HEAD^5

# les options de rebase seront affichées dans l'éditeur de texte
pick a89b78c Commit1
pick b136d0a Commit2
pick c231e8d Commit3
pick d54274b Commit4
pick e87218e Commit5

# Garder les lignes avec les commits que vous voulez dans la branche et enregistrer le fichier
pick a89b78c Commit1
pick d54274b Commit4
pick e87218e Commit5

-11voto

Syed Raihan Points 41
git branch --set-upstream-to another_branch

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X