При создании нового клона репозитория вы не потеряете журнал Git или изменения при разделении папки в отдельный репозиторий.
-
Откройте ТерминалТерминалGIT Bash.
-
Измените текущую рабочую папку на расположение, где должен находиться клонированный репозиторий.
-
Клонируйте репозиторий, содержащий подпапку.
$ git clone https://HOSTNAME/USERNAME/REPOSITORY-NAME
-
Измените текущую рабочую папку на клонированный репозиторий.
$ cd REPOSITORY-NAME
-
Чтобы отфильтровать вложенную папку из остальных файлов в репозитории, установите
git-filter-repo
, а затем выполните командуgit filter-repo
со следующими аргументами.FOLDER-NAME
: папка в проекте, в которой вы хотите создать отдельный репозиторий.
Совет. Пользователи Windows должны применять
/
для разделения папок.$ git filter-repo --path FOLDER-NAME/ # Filter the specified branch in your directory and remove empty commits > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89) > Ref 'refs/heads/BRANCH-NAME' was rewritten
Теперь репозиторий должен содержать только те файлы, которые были в подпапках.
-
Создайте репозиторий на GitHub Enterprise Server.
-
В верхней части нового репозитория на странице быстрой установки экземпляр GitHub Enterprise Serverщелкните , чтобы скопировать URL-адрес удаленного репозитория.
Совет: Сведения о различиях между URL-адресами HTTPS и SSH см. в разделе Сведения об удаленных репозиториях.
-
Проверьте существующее удаленное имя репозитория. Например, к распространенным вариантам относятся
origin
иupstream
.$ git remote -v > origin https://HOSTNAME/USERNAME/REPOSITORY-NAME.git (fetch) > origin https://HOSTNAME/USERNAME/REPOSITORY-NAME.git (push)
-
Настройте новый удаленный URL-адрес для нового репозитория, используя существующее удаленное имя и URL-адрес удаленного репозитория, скопированный на шаге 7.
git remote set-url origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git
-
Убедитесь, что удаленный URL-адрес изменился с учетом нового имени репозитория.
$ git remote -v # Verify new remote URL > origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (fetch) > origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git (push)
-
Отправьте изменения в новый репозиторий на GitHub Enterprise Server.
git push -u origin BRANCH-NAME