Jestem trochę nowy w kontroli wersji z GIT. Przeczytałem to Guide i podążam za podstawowym podejściem, które jest pokazane na diagramie HERE. Mam jednak pewne wątpliwości, jak używać gałęzi git, aby oddzielić rozwój nowych funkcji od istniejącego kodu.Jak poprawnie używać git i gałęzi
Oto przykład. Załóżmy, że na początku, mój repozytorium zawiera następujące dwa główne oddziały:
- gałęzi master (zawierający wersję Release)
- Develop Branch (zawierający nowe poprawki lub funkcje, aby oddzielić je od istniejących cech projektowych)
Kiedy potrzebuję rozwijać nowe funkcje lub moduły, tworzę oddziały z Develop i uruchamiam tam nowe projekty kodu. Na przykład utworzę trzy nowe gałęzie, aby dodać funkcje związane z Sun
, Star
i SuperNova
. Teraz mój repozytorium zawiera pięć oddziałów:
- Mistrz Branża: Release 1.0.0
- rozwinąć gałąź: Modyfikacja po wydaniu 1.0.0
- NewModule_Sun Branża: Sun dodać do projektu (tworzenie z Develop oddział)
- NewModule_Star Branża: Gwiazda dodać do projektu (tworzenie z Develop oddział)
- NewModule_SuperNova Branża: dodać SuperNova do projektu (z Develop stworzyć oddział)
Do wersji 1.0.1 chcę dołączyć moduły Sun
i Star
, ale nie SuperNova
. Tak, mogę połączyć je opracować, a następnie połączyć z Develop wydaniu:
- Merge NewModule_Sun do Develop
- Merge NewModule_Star do Develop
- seryjnej przekształcić Master (zwolnić 1.0.1)
Branża deweloperska musi być stale dostępna, ale oddziały Sun
i Star
nie są już potrzebne. Oni zostaną usunięte:
- Usuń gałąź NewModule_Sun
- Usuwanie gałęzi NewModule_Star
Po tych zmianach mój repozytorium zawiera trzy następujące oddziały:
- gałąź master: Release 1.0. 1
- Rozwijaj gałąź: modyfikacja po wydaniu 1.0.1
- Oddział NewModule_SuperNova: Modyfikacja po wydaniu 1.0.0 (utworzony z Develop, gdy nie została połączona z gałęzi Gwiazda/Sun)
==
Po pierwsze, używam poprawnie oddziały git?
Po drugie, zapoznałem się z historią ostatniego oddziału deweloperskiego i wydaje mi się, że straciłem trochę informacji na temat NewModules
. Czy to normalne? Czy jest możliwe przeniesienie wszystkich informacji historycznych do oddziału deweloperskiego?
Dziękuję!
To może pomóc. http://stackoverflow.com/questions/2613903/does-deleting-a-branch-in-git-remove-it-from-the-history – codef0rmer