2016-12-29 16 views
1

Ich habe git für irgendwann jetzt verwendet, aber es ist nicht klar, wie git commit s beziehen sich auf releases, die sich auf die master Zweig beziehen.Beziehung zwischen git Niederlassungen und eine Freigabe

Mein Verständnis ist jetzt master Zweig ist wie jeder andere Zweig in Git. Es wird gerade mit git init beim ersten Erstellen eines Git-Repository erstellt.

Kann also jemand die Beziehung zwischen git branches zu einer release erklären?

Ist es eine 1 or M:1 Beziehung? (z.B. sind 1 oder viele Zweige in einer Freigabe)?

Auch innerhalb eines Git branch Wie werden die einzelnen Änderungen verfolgt? z.B. in einem Zweig ändere ich den Buchstaben B in filex.py zu C und begehe es zu einem Zweig?

Dank

Antwort

0

Git stellt keine solchen Anforderungen oder Workflow für Sie.

Ein beliebter Ansatz ist, dass master immer die neueste Produktionsversion darstellt und erst unmittelbar vor einer Veröffentlichung zusammengeführt wird, so dass dies der Fall ist.

Eine andere Taktik ist es, einen release Zweig zu haben, der dasselbe wie oben tut.

Schließlich könnten git-Tags verwendet werden, normalerweise in Verbindung mit SemVer oder einem anderen Versionierungsansatz. Dies ist sinnvoll, wenn zahlreiche verschiedene Versionen gleichzeitig erstellt werden und Sie zwischen diesen Versionen unterscheiden müssen oder Versionshinweise mit einem bestimmten Tag erstellen und verknüpfen müssen.

Ähnlich wie oben können Sie auch verschiedene Versionszweige für verschiedene Versionen erhalten. Dies ist nützlich, wenn Sie erwarten, dass die separate Entwicklung in diesen Zweigen fortgesetzt wird.

Welche Zweige in einem Release enthalten sind, hängt von Ihrem Arbeitsablauf ab.

Wenn eine Gruppe von Entwicklern an verschiedenen Funktionen und Bugfixes arbeitet, kann es passieren, dass eine Reihe von Zweigen vor der Veröffentlichung zusammengeführt werden. Zum Beispiel: -

  • Merkmal/abc
  • Merkmal/xyz
  • Bugfix/1234
  • Bugfix/9999

auf dem QA-Ansatz und Workflow Je würden sie getestet werden und fusioniert oder fusioniert und getestet, in einen Zweig zur Vorbereitung der Veröffentlichung oder direkt in den Master und freigegeben. Es gibt wirklich viele Ansätze, die Sie treffen können, die von der Größe und Art Ihres Teams abhängen, wie flexibel Sie sein müssen usw.

+1

Ich denke, dass dies auf "es abhängt" haha ​​herunterkochen kann. Aber ich denke, das gibt einen guten Überblick über das, was in @bcmcfc passiert – Jshee

Verwandte Themen