Как мне перенести мой существующий репозиторий в форк другого репозитория?

#git #github

#git #github

Вопрос:

Я работал над проектом и поддерживаю репозиторий git для проекта на GitHub.

Тем не менее, мое рабочее место теперь создало репозиторий для этого проекта и попросило меня отправить туда PR. Я разветвил этот новый репозиторий.

Моим первоначальным побуждением было клонировать этот форк и копировать, вставлять все файлы из моего исходного проекта и нажимать. Но при этом я потеряю все свои коммиты.

Есть ли лучший способ? Хотите перенести мой существующий репозиторий в этот форк?

Ответ №1:

В зависимости от того, имеют ли репозитории одинаковую историю, вы можете просто добавить новый источник.

Сначала проверьте текущий git remote:

 git remote -v
origin git@my-old-git.com:repo/path/repo.git (fetch)
origin git@my-old-git.com:repo/path/repo.git (push)
 

Затем добавьте новый удаленный

 git remote add origin2 git@my-new-git.com:repo/path/repo.git
 

Теперь вы можете нажать с

 git push origin2 my-branch
 

Комментарии:

1. Спасибо. Это было действительно полезно: D

Ответ №2:

Сначала клонируйте свой новый разветвленный репозиторий.

Затем добавьте свой предыдущий репозиторий в качестве удаленного

 git remote add old-origin <path>
git fetch old-origin
 

Затем извлеките свой предыдущий коммит репозитория

 git pull old-origin master --rebase
 

После этого перейдите к вашему новому разветвленному репозиторию

 git push origin master
 

Комментарии:

1. Привет, спасибо за поддержку! Это работает, но единственная проблема в том, что мне придется установить все зависимости и выполнить все настройки, чтобы запустить проект. Я думаю, что проще добавить URL-адрес форка в качестве удаленного в существующий локальный репозиторий (хотя это может привести к конфликту слияния, и, возможно, потребуется его исправить). Еще раз спасибо за ответ!