2017-11-26 5 views
2

Wenn git flow feature start MYFEATURE tun Ich habe vor kurzem die NachrichtWas bedeutet "divergent" in der Git- oder Git-Flow-Terminologie?

$ git flow feature start MYFEATURE 
Branches 'develop' and 'origin/develop' have diverged. 
And branch 'develop' may be fast-forwarded. 

Ist diese Verwendung eines git Flow bestimmte Sache „abgezweigt“, oder auch in git verwendet? Und ist ein Zweig, der ein Vorfahre eines anderen Zweiges ist, noch ausreichend, um sie als "divergent" zu betrachten? Meine Annahme über den Begriff "divergent" auf der Grundlage der englischen Sprache ist, dass beide Zweige verpflichtet werden müssten, dass der andere Zweig nicht hat.

Bei dem Versuch herauszufinden, was "divergent" bedeutet, stieß ich auf master branch and 'origin/master' have diverged, how to 'undiverge' branches'?, aber das ging nicht git fließen, und beteiligt zwei Zweige, die verpflichtet hatte, dass der andere Zweig nicht hatte. Der Begriff "divergent" verwirrte einen hohen Ruf Benutzer genug, dass sie left a comment asking for clarification.

+1

Zwei Zweige, die eigene Geschichte ist A-B und die anderen ist A-C. Dies ist das einfachste Modell zweier divergenter Zweige. Die Grafik ist wie ein V oder ein Y. – ElpieKay

+0

Scheint wie eine unklare Nachricht. Haben sich Entwicklung und Herkunft/Entwicklung in Ihrem Projekt tatsächlich auseinander entwickelt? Wenn dies der Fall ist, kann "entwickeln" nicht zu "Ursprung/Entwicklung" weitergeleitet werden, obwohl es vielleicht an den letzten gemeinsamen Vorfahren weitergeleitet werden könnte –

Antwort

2

Die gitflow repo has a function, die den anderen Fall, in dem "Zweige haben abwich", erklärt:

# git_compare_branches() 
# 
# Tests whether branches and their "origin" counterparts have diverged and need 
# merging first. It returns error codes to provide more detail, like so: 
# 
# 0 Branch heads point to the same commit 
# 1 First given branch needs fast-forwarding 
# 2 Second given branch needs fast-forwarding 
# 3 Branch needs a real merge 
# 4 There is no merge base, i.e. the branches have no common ancestors 

Siehe auch about diverged branches meine ältere Antwort.