Skip to main content

Разделение подпапки в новый репозиторий

Вы можете преобразовать папку в репозитории Git в совершенно новый репозиторий.

При создании нового клона репозитория вы не потеряете журнал Git или изменения при разделении папки в отдельный репозиторий.

  1. Откройте ТерминалТерминалGIT Bash.

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

  3. Клонируйте репозиторий, содержащий подпапку.

    $ git clone https://HOSTNAME/USERNAME/REPOSITORY-NAME
  4. Измените текущую рабочую папку на клонированный репозиторий.

    $ cd REPOSITORY-NAME
  5. Чтобы отфильтровать вложенную папку из остальных файлов в репозитории, установите git-filter-repo, а затем выполните команду git filter-repo со следующими аргументами.

    • FOLDER-NAME: папка в проекте, в которой вы хотите создать отдельный репозиторий.

    Совет. Пользователи Windows должны применять / для разделения папок.

    $ git filter-repo --path FOLDER-NAME1/ --path FOLDER-NAME2/
    # Filter the specified branch in your directory and remove empty commits
    > Rewrite 48dc599c80e20527ed902928085e7861e6b3cbe6 (89/89)
    > Ref 'refs/heads/BRANCH-NAME' was rewritten

    Теперь репозиторий должен содержать только те файлы, которые были в подпапках.

  6. Создайте репозиторий на GitHub Enterprise Server.

  7. В верхней части нового репозитория на странице быстрой установки your GitHub Enterprise Server instance щелкните , чтобы скопировать URL-адрес удаленного репозитория.

    Копирование поля URL-адреса удаленного репозитория

    Совет: Сведения о различиях между URL-адресами HTTPS и SSH см. в разделе Сведения об удаленных репозиториях.

  8. Проверьте существующее удаленное имя репозитория. Например, к распространенным вариантам относятся origin и upstream.

    $ git remote -v
    > origin  https://HOSTNAME/USERNAME/REPOSITORY-NAME.git (fetch)
    > origin  https://HOSTNAME/USERNAME/REPOSITORY-NAME.git (push)
  9. Настройте новый удаленный URL-адрес для нового репозитория, используя существующее удаленное имя и URL-адрес удаленного репозитория, скопированный на шаге 7.

    git remote set-url origin https://HOSTNAME/USERNAME/NEW-REPOSITORY-NAME.git
  10. Убедитесь, что удаленный 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)
  11. Отправьте изменения в новый репозиторий на GitHub Enterprise Server.

    git push -u origin BRANCH-NAME