Я как бы новичок в управлении версиями с GIT. Я прочитал этот Guide и следую основному подходу, который показан на диаграмме ЗДЕСЬ. Тем не менее, у меня есть некоторые сомнения в том, как использовать ветки git, чтобы отделить разработку новых функций от существующего кода.
Вот пример. Предположим, что в начале мой репозиторий содержит следующие две основные ветки:
- Главный ветвь (содержащая версию выпуска)
- Развернуть ветвь (содержит новые исправления или функции для их разделения от существующих функций проекта)
Когда мне нужно разрабатывать новые функции или модули, я создаю ветки из "Разработки" и запускаю там новые проекты кода. Например, я добавляю три новые ветки для добавления функций, связанных с Sun
, Star
и SuperNova
. Теперь мой репозиторий содержит пять ветвей:
- Главный ветвь: Release 1.0.0
- Разработка ветки: Модификация после выпуска 1.0.0
- ветвь NewModule_Sun: добавьте Sun в проект (создайте из ветки разработки)
- ветвь NewModule_Star: добавьте Star в проект (создайте из ветки разработки)
- ветвь NewModule_SuperNova: добавьте SuperNova в Project (создайте из ветки разработки)
Для версии 1.0.1 я хочу включить модули Sun
и Star
, но не SuperNova
. Таким образом, я объединять их с Develop, а затем объединить Develop с Release:
- Слияние NewModule_Sun в разработку
- Слияние NewModule_Star в разработку
- Слияние в Master (выпуск 1.0.1)
Отрасль разработки должна храниться постоянно, но ветки Sun
и Star
больше не нужны. Они удаляются:
- Удалить ветку NewModule_Sun
- Удалить ветку NewModule_Star
После этих изменений мой репозиторий содержит следующие три ветки:
- Мастер-отдел: выпуск 1.0.1
- Разработка ветки: изменение после выпуска 1.0.1
- ветвь NewModule_SuperNova: модификация после выпуска 1.0.0 (созданная с помощью разработчика, когда она не была объединена со ветвями Star/Sun)
==
Во-первых, правильно ли использую ветки git?
Во-вторых, я просмотрел историю окончательной ветки разработки, и кажется, что я потерял некоторую информацию о NewModules
. Это нормально? И, возможно ли передать всю информацию истории в ветку разработки?
Спасибо!