Чтобы создать новый репозиторий Git из существующего репозитория, обычно нужно создать новый репозиторий bare и перенести одну или несколько веток из существующего в новый репозиторий.
Следующие шаги иллюстрируют это:
Создать новый репозиторий. Он должен быть голым , чтобы вы могли нажать на него.
$ mkdir /path/to/new_repo
$ cd /path/to/new_repo
$ git --bare init
Примечание : убедитесь, что ваш новый репозиторий доступен из существующего репозитория. Есть много способов сделать это; давайте предположим, что вы сделали его доступным через ssh://my_host/new_repo
.
Нажмите ветку из вашего существующего хранилища. Например, скажем, мы хотим вытолкнуть ветку topic1
из существующего хранилища и назвать ее master
в новом хранилище.
$ cd /path/to/existing_repo
$ git push ssh://my_host/new_repo +topic1:master
Этот прием позволяет сохранить историю от существующей ветви.
Примечание: новый репозиторий фактически является новым удаленным репозиторием. Если вы хотите работать с новым хранилищем, вы должны клонировать его. Следующее будет клонировать новое хранилище в локальный рабочий каталог с именем new_repo
:
$ git clone ssh://my_host/new_repo
В этом примере, когда вы клонируете новый репозиторий, вы увидите, что ветвь master
является копией ветки topic1
старого репозитория.