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

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

1. Клонируйте исходный репозиторий на локальный компьютер, используя команду git clone <URL репозитория>. Например:

   git clone https://github.com/username/repository.git

2. Перейдите в клонированную директорию с помощью команды cd repository. Здесь repository - название директории репозитория.

3. Создайте новую ветку, на которой будет производиться работа:

   git branch new-branch

4. Перейдите на новую ветку:

   git checkout new-branch

5. Удалите все файлы и папки, кроме тех, которые вам нужны в новом репозитории. Команда git rm -r <директория> используется для удаления папки и всех ее содержимого. Например, для удаления папки my-folder:

   git rm -r my-folder

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

6. Создайте новый репозиторий на платформе Git (например, GitHub, GitLab, Bitbucket) и получите URL для нового репозитория.

7. Добавьте новый удаленный репозиторий как удаленный источник с помощью команды git remote add <имя_источника> <URL_источника>. Например:

   git remote add new-origin https://github.com/username/new-repository.git

8. Передайте изменения на новый репозиторий, используя команды:

   git add .
   git commit -m "Moving my-folder to a new repository"
   git push new-origin new-branch

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

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