2016-10-27 2 views
1

Ich möchte, dass meine Funktion Zweig in dev Zweig rebase, so dass ichgit macht rebase nicht

git checkout feature 
git rebase dev 

dann bekomme ich

Current branch feature is up to date 

das ist schon seltsam, sollte es nicht die Entwickler aktualisieren und nicht das Feature?

weiter

git checkout dev 
git log 

zeigt, dass es von der Funktion keine neuen Commits hinzugefügt. Was mache ich falsch?

und

+0

'git rebase' den aktuellen Zweig wechselt zu genießen, nicht den Ast Sie auf rebase wollen. – choroba

+0

Ich denke wahrscheinlich, was Sie tun möchten, ist 'git checkout feature',' git rebase dev', 'git checkout dev' und' git merge feature'. Der erste Update-Feature-Startpunkt befindet sich an der Spitze von dev und führt dann die Commits, die in Feature gemacht werden, in Dev zusammen. – kaitoy

Antwort

1

ich dev vorausgesetzt bin ist Ihr primärer Zweig.

Wenn Sie feature weg von dev (oder einem anderen Zweig, der an dem gleichen COMMIT-Punkt als Entwickler HEAD war) und keine Änderungen wurden seit dieser Verzweigung dev commited verzweigten initialen, wenn innerhalb feature (wie Sie, indem Sie die Kasse sind) Wenn Sie auf dev rebase, sollte nichts passieren. HEAD commit von dev ist bereits feature 's Basis Commit.

Wenn die Commits an dev vorgenommen wurden, dann hätte die Rebase das Feature auf die neue dev rebased.

Sie wollen nicht dev rebase, können Sie Ihren feature Zweig rebase bei Bedarf (wenn dev, während auf dem Feature arbeitet geändert haben), dann den umbasiert Funktionszweig verschmelzen wieder in dev.

Hier ist mein Flow dev vorausgesetzt, mein primärer Zweig ist:

git checkout dev 
git checkout -b feature 

Jetzt habe ich in meiner Funktion Zweig bin. Ich habe einige Änderungen an Feature Branch vorgenommen, um sie zu committen, vielleicht hat sich dev inzwischen geändert. Noch auf Funktionszweig, zu ändern, so

So
git checkout dev 
git pull origin dev 

für alle Änderungen zu suchen dev zurück Änderungen auf dev passiert ist, so will ich meine Funktion Zweig

git checkout feature 
git rebase dev 

Jetzt bin ich bereit rebase zu fusionieren mein Funktionszweig in dev

git checkout dev 
git merge --squash feature 

Squash ist optional, aber er kondensiert Änderungen in dem Feature-Zweig in ein auf Fusion zurück zu dev Einzeln begehen.

Schließlich drücken Sie den neuen Entwickler wieder nach oben für andere

git push origin dev 
+0

danke, richtig Ich hatte keine Änderungen in der Dev-Zweigstelle, also half die einfache Zusammenführung – Asara