Как дублировать репозиторий git? (без разветвления)
У меня есть два репозитория, и мне нужно скопировать весь один на другой пустой, который имеет разные уровни доступа от первого. Копирование и материнский репозиторий не должны быть связаны друг с другом.
Я новичок в git, и было бы здорово, если бы кто-то помог мне с этим.
Ответы
Ответ 1
См. https://help.github.com/articles/duplicating-a-repository
Краткая версия:
Чтобы сделать точный дубликат, вам нужно выполнить как голый клоун, так и зеркальный щелчок:
mkdir foo; cd foo
# move to a scratch dir
git clone --bare https://github.com/exampleuser/old-repository.git
# Make a bare clone of the repository
cd old-repository.git
git push --mirror https://github.com/exampleuser/new-repository.git
# Mirror-push to the new repository
cd ..
rm -rf old-repository.git
# Remove our temporary local repository
ПРИМЕЧАНИЕ. Вышеописанное будет работать с любым удаленным репозиторией git, инструкции не относятся к github
Вышеприведенная информация создает новую удаленную копию репо. Затем клонируйте его на рабочую машину.
Ответ 2
Вы также можете использовать git-copy.
Установите его с помощью Gem,
gem install git-copy
Тогда
git copy https://github.com/exampleuser/old-repository.git \
https://github.com/exampleuser/new-repository.git
Ответ 3
Если вы копируете GitHub, вы можете использовать GitHub Importer, чтобы сделать это за вас. Оригинальное репо может быть даже из других систем управления версиями.
Ответ 4
Если вы просто хотите создать новый репозиторий, используя все или большинство файлов из существующего (т.е. как своего рода шаблон), я считаю, что самый простой способ - создать новый репо с желаемым именем и т.д. клонируйте его на рабочий стол, а затем просто добавьте в него файлы и папки.
Вы не получите всю историю и т.д., но в этом случае вы, вероятно, этого не хотите.