Копирование / вилка git РЕПО на github в ту же организацию


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

дошло до того, что я хочу разделить его на два отдельных репозитория, по одному для каждого домена.

Github не позволит мне раскошелиться на ту же организацию. Поиск "git duplicate repo" предполагает, что я должен обнажить клон и зеркальный толчок это, но это, кажется, для поддержания обоих репозиториев в синхронизации, что я не хочу делать.

каков наилучший способ сделать это? Я хотел бы сохранить старую историю фиксации в новой копии, если это возможно.

5 60

5 ответов:

просто создайте новый репозиторий и нажмите на него из своей рабочей копии:

git clone git@github.com:me/myrepo-original
cd myrepo-original
git remote set-url origin git@github.com:me/myrepo-new
git push origin master

Теперь у вас есть новый репозиторий, myrepo-new, который идентичен myrepo-original.

Если вам не нужно отношение вилки (например, вы хотите какой-то развязанный альтернативный репо по какой-либо причине), дублирование РЕПО в виде контуров вашими Google находками и ответом ларска отлично.

Если вы do хотите сделать его вилкой, обратитесь в службу поддержки Github (support@github.com или https://github.com/support), и они создадут вилку в той же организации для вас. (Они также не придирчивы к этому, Вам просто нужно предоставить альтернативное имя для РЕПО, так как имена РЕПО в учетной записи должны быть уникальными.)


обновление: пользователь Стив Райс сообщает в комментариях ниже, что поддержка GitHub заявила, что поддержка в настоящее время не будет/больше не будет устанавливать вторую вилку в вашей учетной записи. Вы все еще можете попробовать спросить их, так как сотрудники службы поддержки могут это сделать, но это также может быть изменение политики, мешающее им это сделать.

другой способ-добавить исходное РЕПО, которое будет скопировано, как удаленное для нашего текущего РЕПО.

#create a new repo in the org1 organization called myrepo-new

в локальном терминале выполните команду:

git clone git@github.com:org1/myrepo-new
cd myrepo-new
git remote -v #shows current repo link on github as origin
git remote add name-for-remote https://github.com/org1/repo-old
git remote -v #shows repo-old as name-for-remote
git fetch  name-for-remote
git merge name-for-remote/branch-to-get-from-remote
#Now fix any conflicts if present
#If number of files/commits is very high, the desktop client may hang when you try to commit your changes after merge. Try switching to Git Shell if this happens.
git status 
git commit -m "commit message"
git push origin master

используйте Github Хранилище Импорт на +меню в верхней части страницы

Это создает новый репозиторий с точным содержимое скопировать репозиторий. Недостатком является то, что он не считается вилкой для GitHub.

Не могли бы вы просто скопировать локальную папку, удалить материал git:

rm -rf .git*

затем сделать новый репозиторий в этой папке? Кажется чище и проще.