Я хочу создать git-репозиторий с несколькими ветками (master, development, release и т. Д.).
Судя по вопросу, кажется, что вы не уверены в причинах, по которым вы создадите пустой git-репозиторий, и как вы будете использовать этот репозиторий. Вопрос в том, , почему вы хотите сделать пустой репозиторий?
Начиная с Pro Git , пустой репозиторий - это «репозиторий, который не содержит рабочего каталога». Это хранилище, из которого вы не работаете, а просто используется для git push
и git pull
из. Причина этого подвела здесь :
"Чистое хранилище - это хранилище без извлеченной рабочей копии кода. Оно содержит только базу данных git. Как правило, вам никогда не следует загружать хранилище, содержащее изменения в рабочей копии. Чтобы этого не произошло в этом случае мы делаем серверное хранилище пустым хранилищем - у него нет рабочей копии. "
Итак, пустой git-репозиторий может содержать несколько веток. Вы определенно можете получить копию чистого удаленного репозитория в свой локальный репозиторий и передать его из локального репозитория в удаленный (голый) хранилище. Однако вы не хотите работать из своего голого хранилища. (Кроме того, невозможно запустить git add
в пустом хранилище; см. этот вопрос SO для пояснения).
Итак, вопрос в том, можно ли извлечь пустой репозиторий или как переключаться между ветвями (имеет ли смысл переключаться)?
Этот вопрос, я думаю, не совсем понятен, потому что вы никогда не переключаете ветки в пустом хранилище - вы никогда не работаете в пустом хранилище . Все, что вы делаете, это толкаете или вытягиваете его.
Когда я хочу перейти к пустому хранилищу, могу ли я выполнить слияние с пустым хранилищем, или объединение должно быть выполнено локально и выдвинуть соответствующую ветку? Поэтому ищем правильный подход: -)
Для git-push
в пустом хранилище, вы должны сначала убедиться, что нет конфликта слияния - если он есть, отправка не удастся ( Ссылка: book.git-scm.com, «Передача изменений в публичный репозиторий "). Следовательно, необходимо выполнить слияние локально , а затем с быстрой пересылкой в пустом хранилище с git-push
.
Итак, ищем правильный подход.
В пустом хранилище нет ничего особенного, кроме того, что вы не должны и не можете работать из него. Как уже упоминали другие, модель gitflow дает вам представление о рабочем процессе, включающем несколько репозиториев - в SO много вопросов, требующих примеров и методологий рабочего процесса git. Почти каждая ссылка (1, Pro Git) , (2, book.git-scm.com) использует голое хранилище в сочетании с публичное или опубликованное хранилище - в связанных статьях подробно обсуждается создание и использование пустых хранилищ.