Создаем папку для монорепозитория и инициализируем его:
mkdir ~/monorepo && cd ~/monorepo
git init
Добавляем remote на другие репозитории:
git remote add ${FIRST_REPOSITORY} [email protected]:${GITHUB_USER}/${FIRST_REPOSITORY}.git
git remote add ${SECOND_REPOSITORY} [email protected]:${GITHUB_USER}/${SECOND_REPOSITORY}.git
...
Далее внутри каждого репозитория ${FIRST_REPOSITORY}
, ${SECOND_REPOSITORY}
и т.д.
надо создать папки с соответсвующими названиями (${FIRST_REPOSITORY}
, ${SECOND_REPOSITORY}
и т.д.
). Затем переместить все содержимое репозиториев в эти папки.
Пример:
cd ~/${FIRST_REPOSITORY}
mkdir ${FIRST_REPOSITORY}
mv * ${FIRST_REPOSITORY}
А затем скачать (через git pull
) эти репозитории внутри монорепозитория:
git pull ${FIRST_REPOSITORY} ${FIRST_REPOSITORY_BRANCH} --allow-unrelated-histories
git pull ${SECOND_REPOSITORY} ${SECOND_REPOSITORY_BRANCH} --allow-unrelated-histories
...
Создаем папку для монорепозитория и инициализируем его:
mkdir ~/monorepo && cd ~/monorepo
git init
Добавляем remote на другие репозитории:
git remote add ${FIRST_REPOSITORY} [email protected]:${GITHUB_USER}/${FIRST_REPOSITORY}.git
git remote add ${SECOND_REPOSITORY} [email protected]:${GITHUB_USER}/${SECOND_REPOSITORY}.git
...
Далее внутри каждого репозитория ${FIRST_REPOSITORY}
, ${SECOND_REPOSITORY}
и т.д.
надо создать папки с соответсвующими названиями (${FIRST_REPOSITORY}
, ${SECOND_REPOSITORY}
и т.д.
). Затем переместить все содержимое репозиториев в эти папки.
Пример:
cd ~/${FIRST_REPOSITORY}
mkdir ${FIRST_REPOSITORY}
mv * ${FIRST_REPOSITORY}
git fetch ${FIRST_REPOSITORY}
git merge ${FIRST_REPOSITORY}/${FIRST_REPOSITORY_BRANCH} --allow-unrelated-histories
git fetch ${SECOND_REPOSITORY}
git merge ${SECOND_REPOSITORY}/${SECOND_REPOSITORY_BRANCH} --allow-unrelated-histories
...
Создаем папку для монорепозитория и инициализируем его:
mkdir ~/monorepo && cd ~/monorepo
git init
Добавляем remote на другие репозитории:
git remote add ${FIRST_REPOSITORY} [email protected]:${GITHUB_USER}/${FIRST_REPOSITORY}.git
git remote add ${SECOND_REPOSITORY} [email protected]:${GITHUB_USER}/${SECOND_REPOSITORY}.git
...
Cкачиваем репозитории:
git fetch ${FIRST_REPOSITORY}
git read-tree --prefix=./${FIRST_REPOSITORY} -u ${FIRST_REPOSITORY}/${FIRST_REPOSITORY_BRANCH}
git fetch ${SECOND_REPOSITORY}
git read-tree --prefix=./${SECOND_REPOSITORY} -u ${SECOND_REPOSITORY}/${SECOND_REPOSITORY_BRANCH}
...
Создаем папку для монорепозитория и инициализируем его:
mkdir ~/monorepo && cd ~/monorepo
git init
Делаем первый пустой коммит:
git commit --allow-empty -n -m "Initial commit."
Cкачиваем репозитории:
git subtree add --prefix ${FIRST_REPOSITORY} [email protected]:${GITHUB_USER}/${FIRST_REPOSITORY}.git ${FIRST_REPOSITORY_BRANCH}
git subtree add --prefix ${SECOND_REPOSITORY} [email protected]:${GITHUB_USER}/${SECOND_REPOSITORY}.git ${SECOND_REPOSITORY_BRANCH}
...
Если надо подпуллиться:
git subtree pull --prefix=${FIRST_REPOSITORY} [email protected]:${GITHUB_USER}/${FIRST_REPOSITORY}.git ${FIRST_REPOSITORY_BRANCH}
git subtree pull --prefix=${SECOND_REPOSITORY} [email protected]:${GITHUB_USER}/${SECOND_REPOSITORY}.git ${SECOND_REPOSITORY_BRANCH}
...