Я пытаюсь переместить только содержимое одного репозитория ( repo1
) в другой существующий репозиторий ( repo2
) с помощью следующих команд:
git clone repo1
git clone repo2
cd repo1
git remote rm origin
git remote add repo1
git push
Но это не работает. Я просмотрел аналогичный пост, но нашел только одно перемещение папки, а не содержимое.
git
merge
repository
migrate
Марио
источник
источник
Ответы:
Я думаю, что команды, которые вы ищете:
После этого
repo2/master
будет содержать все отrepo2/master
иrepo1/master
, а также будет иметь историю обоих.источник
repo1
подпапки (внутриrepo1
) перед выполнением слияния.Отлично описано здесь https://www.smashingmagazine.com/2014/05/moving-git-repository-new-server/
Сначала мы должны извлечь все удаленные ветви и теги из существующего репозитория в наш локальный индекс:
Мы можем проверить все недостающие ветви, которые нам нужны для создания локальной копии:
Давайте используем SSH-клонированный URL нашего нового репозитория, чтобы создать новый удаленный в нашем существующем локальном репозитории:
Теперь мы готовы отправить все локальные ветви и теги на новый пульт с именем new-origin:
Давайте сделаем new-origin удаленным по умолчанию:
Переименуйте new-origin только в origin, чтобы он стал удаленным по умолчанию:
источник
git checkout BranchName
ветки с помощью push push на удаленное репо,git push --all new-origin
но большое спасибоЕсли вы хотите сохранить существующие ветки и зафиксировать историю, вот один способ, который сработал для меня.
Теперь предположим, что вы хотите синхронизировать исходные и конечные репозитории в течение определенного периода времени. Например, в текущем удаленном репо все еще есть активность, которую вы хотите перенести в новое / замененное репо.
Чтобы получить последние обновления (при условии, что у вас нет локальных изменений):
NB: Я еще не использовал субмодули, поэтому я не знаю, какие дополнительные шаги могут потребоваться, если они у вас есть.
источник
Самый простой подход, если Git уже отслеживает код, а затем установить новый репозиторий в качестве «источника», на который нужно нажать.
источник
Это сработало, чтобы переместить мое локальное репо (включая историю) в мое удаленное репозиторий github.com. После создания нового пустого репо на GitHub.com я использую URL в шаге три ниже, и он прекрасно работает.
Я нашел это по адресу: https://gist.github.com/niksumeiko/8972566
источник
Я использовал приведенный ниже метод для переноса моего GIT Stash в GitLab, поддерживая все ветви и историю коммитов.
Клонировать старый репозиторий в локальный.
Создайте пустой репозиторий в GitLab.
источник
Похоже, ты рядом. Предполагая, что это не просто опечатка в вашем представлении, шаг 3 должен быть
cd repo2
вместо repo1. И шаг 6 должен бытьgit pull
не push. Переработанный список:источник
Согласно ответу @ Dan-Cohn Mirror-push ваш друг здесь. Это мой путь для переноса репозиториев:
Зеркальное отображение хранилища
1 pen Open Git Bash.
2. Создайте голый клон хранилища.
3. Зеркальное нажатие на новый репозиторий.
4. Удалите временный локальный репозиторий, созданный на шаге 1.
Ссылка и кредит: https://help.github.com/en/articles/duplicating-a-repository
источник
Здесь много сложных ответов; однако, если вас не интересует сохранение ветвей, все, что вам нужно сделать, - сбросить удаленный источник, установить восходящий поток и нажать.
Это помогло мне сохранить всю историю коммитов.
источник