2012-04-10 7 views
2

Für eines meiner Projekte, muss ich in der Regel neue Zweigstelle aus der Entwicklung Zweig erstellen und wenn ich meine Arbeit (in New-Branch) fertig habe, muss ich neue Zweigstelle in Entwicklungszweig zusammenführen. Hier sind die Schritte, die ich tue:git: zwei Zweige zusammenführen: Was sind die richtigen Schritte?

git clone –b development <git repository url> 
git branch new-branch 
git checkout new-branch 
git push --all 

ich meinen Code in neuem Zweig und Durchführungs-/Push-Code in neuem Zweig.

Jetzt muss ich New-Branch in Entwicklung zusammenführen (Beachten Sie, dass Entwicklungszweig weitere Commit von anderen Entwickler zu dem Zeitpunkt, wenn ich meine Aufgabe in New-Branch abschließen). Meine Frage ist, was ist der richtige Ansatz, um New-Branch in den Entwicklungszweig zu integrieren und ihn ins Remote-Repository zu schieben?

Dank

Antwort

1

Ich ziehe den Funktionszweig als zerquetschte begehen oben auf develop(ment) und wegzuwerfen danach es zu setzen.

git checkout development 
git merge --squash new-branch 
git branch -D new-branch 
git push origin :new-branch 

diese Weise erhalten Sie eine einzige halten begehen die ganze Funktion enthält.

0

Wenn andere Leute in die "Entwicklung" drängen, dann könnte, wie Sie wahrscheinlich schon gesehen haben, Ihr Push aufgrund einer "Nicht-Fast-Forward" Warnung scheitern. Daher besteht der richtige Ansatz darin, zuerst Änderungen von Entwicklung, Build und Test zu ziehen und dann zurück in die Entwicklung zu gehen. Hier wäre ein Workflow für Sie:

$ git clone -b development <development repository> <devdir>; cd <devdir> 
$ git checkout -b new-branch 
$ <edit, build test> 
$ git add ... 
$ git commit ... 
# repeat above 3 
# 
# now you want to get your changes back on development 
$ git pull origin development 
$ <build, test - to ensure new-branch works w/ latest development> 
$ git push origin new-branch:development 
0
git checkout master 
git merge dev 
git commit -m 'merged branches' 
Verwandte Themen