как копировать / перемещать / клонировать папки из одного репо в корень другого репо - PullRequest
0 голосов
/ 09 января 2019

Я хочу переместить папки из репо в корень другого репо, как показано ниже

repo1

-> folder0 (git @ git ... net: /folder0.git)

-> folder1

-> folder2

-> folder3

до

repo2 (тот же самый gitlab, что и repo1)

-> folder1

-> folder2

-> folder3

т.е. все папки (1,2,3) должны находиться в корне repo2, чтобы все папки (1,2,3) могли находиться непосредственно под (git @ git ... net:)

То, что я пробовал, это

  1. - копировать папку за папкой, которая теряет историю

  2. некоторые ссылки здесь Как переместить папку из одного репо в другое репо?

Что мне нужно - скопировать все папки в подпапках и переместить их в корень

Ответы [ 2 ]

0 голосов
/ 10 января 2019

Я нашел более простой способ по ссылке ниже

https://help.github.com/enterprise/2.15/user/articles/splitting-a-subfolder-out-into-a-new-repository/

Это сработало для меня. Проблемы, с которыми я столкнулся в приведенных выше шагах:

  1. в этой команде git filter-branch --prune-empty --subdirectory-filter FOLDER-NAME BRANCH-NAME BRANCH-NAME это мастер

  2. если последний шаг завершился неудачей при фиксации из-за проблемы защиты, выполните - https://docs.gitlab.com/ee/user/project/protected_branches.html

0 голосов
/ 09 января 2019

Если он помещен в репо1, вы можете выбрать git из репо2.

в .git/config из репо2 добавить:

[remote "copyFrom"]
    url = git@github.com:{repo1Url}
    fetch = +refs/heads/*:refs/remotes/copyFrom/*

как только вы добавите «copyFrom», у repo2 появится новый пульт, чтобы вы могли извлечь и выбрать коммит из repo1 (как это было origin)

git fetch copyFrom 

git cherry-pick -xn {commit-from-repo1}

Обратите внимание, что если код в repo1 сильно отличается от repo2 и фиксация папок содержит другие изменения в коде, это решение может быть грязным

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...