Ich bin etwas neu in der Versionskontrolle mit GIT. Ich lese dieses Guide und befolge den grundlegenden Ansatz, der im Diagramm HERE gezeigt wird. Dennoch habe ich einige Zweifel darüber, wie ich git-Zweige verwenden kann, um die Entwicklung neuer Features vom vorhandenen Code zu trennen.Wie git und Zweige richtig zu verwenden
Hier ist ein Beispiel. Nehmen wir an, am Anfang, mein Repository die folgenden zwei Hauptzweige enthält:
- Master-Zweig (mit der Release-Version)
- Entwickeln Branch (neuen Updates oder Funktionen enthalten, um sie von bestehenden Projekt Funktionen zu trennen)
Wenn ich neue Funktionen oder Module entwickeln muss, erstelle ich Zweige von Develop und starte die neuen Code-Projekte dort. Zum Beispiel mache ich drei neue Zweige, um Funktionen hinzuzufügen, die sich auf Sun
, Star
und SuperNova
beziehen. Nun, mein Repository enthält fünf Zweige:
- Master-Zweig: Release 1.0.0
- Entwickeln Zweig: Änderung nach Release 1.0.0
- NewModule_Sun Zweig: So fügen Sie zu projizieren (Erstellen von Zweig Develop)
- NewModule_Star Zweig: star hinzufügen (erstellen von Zweig Develop) zu projizieren
- NewModule_SuperNova Zweig: Supernova hinzufügen
Für Release 1.0.1 möchte ich die Module Sun
und Star
, aber nicht 10 einbeziehen. So verschmelzen ich sie entwickeln mit und dann mit der Release-Entwicklung verschmelzen:
- NewModule_Sun Merge in Entwickeln
- NewModule_Star Merge in Entwickeln
- Merge Entwickeln in Master (Release 1.0.1)
Der Zweig Entwickeln muss permanent beibehalten werden, aber die Zweige Sun
und Star
werden nicht mehr benötigt. Sie erhalten gelöscht:
- den Zweig NewModule_Sun löschen
- Löschen Sie die NewModule_Star Zweig
Nachdem diese Änderungen mein Repository die folgenden drei Zweige enthält:
- Master-Zweig: Release 1.0. 1
- Entwickeln Zweig: Änderung nach Version 1.0.1
- NewModule_SuperNova-Zweig: Änderung nach Version 1.0.0 (erstellt von Develop, wenn es nicht mit dem Stern/Sun Filialen verschmolzen wurde)
==
Erstens bin ich mit Git Zweige richtig?
Zweitens habe ich die Geschichte der endgültigen Develop Zweig, und es scheint, dass ich einige Informationen über die NewModules
verloren habe. Ist das normal? Und, ist es möglich, alle Verlaufsinformationen in den Zweig Entwicklung zu übertragen?
Vielen Dank !!
Dies kann helfen. http://stackoverflow.com/questions/2613903/does-deleting-a-branch-in-git-remove-it-from-the-history – codef0rmer