Как «вытащить» папку из Git репозитория в отдельный репозиторий?

Для вытягивания папки из существующего Git репозитория и создания из нее отдельного репозитория следует выполнить следующие шаги:

  1. Клонируйте исходный репозиторий на локальный компьютер, используя команду git clone <URL репозитория>. Например:
   git clone https://github.com/username/repository.git
  1. Перейдите в клонированную директорию с помощью команды cd repository. Здесь repository - название директории репозитория.
  1. Создайте новую ветку, на которой будет производиться работа:
   git branch new-branch
  1. Перейдите на новую ветку:
   git checkout new-branch
  1. Удалите все файлы и папки, кроме тех, которые вам нужны в новом репозитории. Команда git rm -r <директория> используется для удаления папки и всех ее содержимого. Например, для удаления папки my-folder:
   git rm -r my-folder

Убедитесь, что вы аккуратны при выполнении этой команды, поскольку она прямо удаляет файлы из репозитория.

  1. Создайте новый репозиторий на платформе Git (например, GitHub, GitLab, Bitbucket) и получите URL для нового репозитория.
  1. Добавьте новый удаленный репозиторий как удаленный источник с помощью команды git remote add <имя_источника> <URL_источника>. Например:
   git remote add new-origin https://github.com/username/new-repository.git
  1. Передайте изменения на новый репозиторий, используя команды:
   git add .
   git commit -m "Moving my-folder to a new repository"
   git push new-origin new-branch

Здесь new-origin - имя удаленного источника, new-branch - имя ветки, созданное в шаге 3.

Теперь у вас есть новый репозиторий с только выбранными папками и файлами. Вы можете продолжить работу с ним, выполнять коммиты и делать пулл-реквесты.