Как правило, все ветки существуют в удаленном хранилище, поскольку они являются общедоступными и должны быть доступны для других разработчиков. Кроме того, в удаленном репозитории происходит слияние, если вы используете инфраструктуру управления репозиторием, такую как gitlab
или github
.
.
Когда вы начинаете реализовывать новую функцию, вы обычно проверяете ветку develop
(поэтому она должна существовать локально) и начинаете с нее ветку feature
. Когда вы закончите реализацию своей функции, вы захотите объединить ее в ветку develop
. Как я упоминал выше, это обычно делается после некоторого обзора кода и, таким образом, происходит в удаленном репозитории, поэтому вам придется перенести туда свою ветку функций.
То же самое относится к ветвям исправлений, которые вы разветвляете master
, так что вы могли бы также иметь это локально.
И вам нужно создать release
ветку где-то , возможно, локально, и передать ее на удаленный компьютер.
Короче говоря: как вы видите, все ветви окажутся в удаленном хранилище и, вероятно, также в вашем локальном хранилище, хотя не все локальные ветви должны постоянно обновляться (возможно, вы захотите внести изменения в master
только если вы планируете создать исправление поверх них).
Конечно, git
поддерживает все виды рабочих процессов, и это ни в коем случае не обязательно. В конце концов, это зависит от вас, но, по моему опыту, это в основном заканчивается, как я описал выше.