2016-10-27 6 views
1

Je veux rebasage ma branche avec dans la branche dev, donc je negit ne fait pas rebasage

git checkout feature 
git rebase dev 

je reçois

Current branch feature is up to date 

des thats déjà étrange, il ne devrait pas mettre à jour le dev et pas la fonctionnalité?

plus

git checkout dev 
git log 

montre qu'il n'y a pas de nouveaux commits de la fonctionnalité ajoutée. Qu'est-ce que je fais mal?

et

+0

'rebase' git change la branche courante, pas la branche sur laquelle vous voulez rebasage sur. – choroba

+0

J'imagine que ce que vous voulez faire c'est probablement "git checkout feature", "git rebase dev", "git checkout dev" et "git merge feature". Cela met d'abord à jour le point de départ de la fonctionnalité vers la pointe de dev, puis fusionne les validations effectuées dans la fonctionnalité dans dev. – kaitoy

Répondre

1

Je suppose dev est votre branche principale.

Si vous INITIAL premier branchement feature hors de dev (ou d'une autre branche qui était au même point d'engagement à la tête de dev) et aucune modification n'a été engagé à dev depuis cette ramification, quand à l'intérieur feature (comme vous êtes en faisant la caisse) si vous rebassez à dev, rien ne devrait arriver. HEAD commit de dev est déjà feature validation de base.

Si les validations avaient été effectuées à dev, la rebase aurait été rebasée sur la nouvelle devHEAD.

Vous ne voulez pas rebasage dev, vous rebasage votre branche feature si nécessaire (si dev ayant changé tout en travaillant sur votre fonction), puis fusionner la branche de fonction rebasées de nouveau dans dev.

Voici mon flux en supposant dev est ma branche principale:

git checkout dev 
git checkout -b feature 

Maintenant, je suis dans ma branche de fonctionnalité. J'ai apporté quelques modifications à la branche de fonctionnalité, les valider, peut-être que dev a changé entre-temps. Toujours sur la branche de fonction, changeant ainsi de retour vers dev pour rechercher tous les changements

git checkout dev 
git pull origin dev 

Ainsi les changements se sont passées sur dev, donc je veux rebasage ma branche avec

git checkout feature 
git rebase dev 

Maintenant, je suis prêt à fusionner ma branche fonctionnalité dans dev

git checkout dev 
git merge --squash feature 

Squash est facultative, mais elle se condense des changements dans la branche de fonction en une seule COMMIT réinsèrent à dev.

Enfin, appuyez sur le nouveau dev retour pour d'autres de profiter

git push origin dev 
+0

merci, correct je n'ai pas eu de changements dans la branche dev, donc la fusion simple a aidé – Asara