Ветка слита, но не удалена

В приведенном ниже Gitflow,

после того, как ветвь релиза успешно объединена с основной ветвью, ветвь релиза также объединена с ветвью разработки, чтобы обновить исправления, указанные во время слияния релиз-мастера.

Производственные исправления для этого выпуска будут даны в ветке Release и других ветвях.

Проблема заключается в том, что если ветвь Release объединена с веткой Develop, но не удалена, то ветвь Develop не может быть удалена (в будущем) после того, как разработчики закончили со своим проектом. В конце концов, ветвь Develop будет заканчиваться слиянием нескольких веток Release, но не удалением... В любом случае, если в репозитории нет разработчика, тогда у Git должна быть только ветка Master и несколько веток Release.


Может ли какая-либо ветка (скажем, Release) находиться в состоянии, в котором она объединена, но не удалена?

1 ответ

Можно ли объединить какую-либо ветку (скажем, Release), но не удалить?

Слияние и удаление являются полностью независимыми действиями. Несмотря на то, что есть некоторая защита, чтобы избежать ее непреднамеренного использования, несжатые ветви могут быть удалены. И объединенные ветви не удаляются автоматически в git,

Github имеет возможность автоматически закрывать объединенные ветви, но это происходит "над" уровнем git в бизнес-логике github.

В конце концов, ветвь Develop будет заканчиваться слиянием нескольких веток Release, но не удалением... В любом случае, если в репозитории нет разработчика, тогда у Git должна быть только ветка Master и несколько веток Release.

Вы, кажется, хотите, чтобы существование ветвей отражало что-то значимое. Это решение остается за вами и вашими коллегами. Но учтите следующее: пока существует ветвь, можно увидеть ее связь с другими ветвями (наиболее непосредственно git diffи, видя, какие ветви являются главой и / или позади каких других ветвей). Как только ветвь исчезнет, ​​такое сравнение не может быть сделано. Поэтому вам решать, является ли удаление веток вашим любимым способом выразить работу в процессе.

Я, например, выступаю за непрерывную интеграцию с несколькими долгоживущими ветвями (например, разработка -> мастер), отмечая точки в мастере, если вы решите сокращать релизы, и удаляя недолговечные ветки объектов после их объединения в разработку, когда это удобно., Но я бы никогда не предположил, что их существование или, если уж на то пошло, отсутствие, что-то значат. git можете сказать мне точно, в чем различия. Я бы придерживался этого. Удаление ветвей функций - это задача обслуживания, которая не создает быстрого интереса при отложении на неопределенный срок.

Другие вопросы по тегам