У меня есть мастер и новые проекты филиалов. А теперь я хотел бы создать совершенно новое репо со своим мастером на основе ветки нового проекта.
Фон: у меня есть один репозиторий, который содержит три независимых приложения. Это не началось таким образом. Первоначально в репо было только одно приложение. Однако со временем потребности бизнеса изменились. Одно приложение стало двумя (устаревшая версия и переписывание). Был добавлен веб-сервис. Отдельные ветви были использованы для содержания трех проектов. Тем не менее, они не делятся ни одним кодом. И поэтому было бы проще разделить их на свои собственные репозитории.
--follow-tags
.push
сделать локальное (т.е.git init
вместо Github> New> ...)Обновить:
Перейдите в локальный репозиторий, содержащий old_branch и:
источник
Редактировать: В GitHub вы можете «раскошелиться» на репозиторий, а затем перейти на вкладку «Администратор» в вашем клоне. Под «именем репозитория» и «Видимостью» находится «Ветвь по умолчанию» с выпадающим меню веток. Выберите
new-project
.Повторное редактирование: я только что понял, что
master
вы хотите установить ветку, а не просто ветку «по умолчанию». Так…them/repo
вyou/repo
.git clone git@github.com:you/repo.git
gitk
.old-master
ветку, чтобы не потерять старые коммиты.]new-project
ветке, щелкните правой кнопкой мыши на сообщении коммита и выберите «Сбросить главную ветвь сюда». (Вы также можете сделать это в командной строке, используяgit-reset
, но я не выяснил правильный вызов.)Следующее нажатие на репозиторий GitHub должно быть выполнено с
--force
опцией, но в противном случае все готово.Если это один из ваших собственных репозиториев, вы делаете это для…
git clone git@github.com:you/orig.git
git clone orig copy
copy
репозитория сбросьтеmaster
ветку туда, где вы хотите.you/copy
. Следуйте инструкциям на GitHub, чтобы настроить этот проект в качестве удаленного для вашей локальной версииcopy
, нажмитеmaster
, и все готово!источник
И это все. (Примечание: история git сохранена)
Я попробовал ответ выше и обнаружил, что он недостаточно конкретен, так как в нем не указано + master: master, и это то, что мне нужно для его работы. Работает отлично.
Источник (с моими изменениями, чтобы избежать проблем с ssh с github): Маурисио Айелло, бывший старший разработчик Java, https://www.quora.com/How-do-I-create-a-new-GitHub-repository-from-a ветвп в-ан существовавшего-хранилище
источник
Не уверен, что это хороший способ, но все равно это легко:
Затем создайте новый репо на GitHub и нажмите его.
источник
Помните, что когда вы просто создаете новое хранилище, вы теряете ссылку на старое и усложняете поддержание любого обновления исходного проекта, синхронизированного с новым. Возможно, не лучше ли раскошелиться на репо?
источник
Небольшое дополнение к правильному ответу:
$ git push git@github.com: имя учетной записи / new_repo + old_branch: master
"git@github.com: accountname / new_repo" => получить из github выпадающее меню "Клонировать или скачать"
источник