Для перемещения содержимого папки из одного репозитория в другой, сохраняя историю изменений, вы можете использовать комбинацию следующих шагов:
1. Создайте клон репозитория, в который вы хотите переместить содержимое папки (rep2).
2. Создайте и переключитесь на новую ветку в этом клоне.
3. Используя команду `git filter-branch`, переместите содержимое папки из первого репозитория в текущую ветку нового репозитория. Например, если вы хотите переместить содержимое папки "folder1" из первого репозитория, то команда может выглядеть следующим образом:
```
git filter-branch --subdirectory-filter folder1 -- --all
```
Это создаст новую ветку с историей изменений только для этой папки.
4. Перенесите полученные изменения в основную ветку нового репозитория. Используйте следующие команды:
```
git checkout master # переключение на основную ветку в новом репозитории
git merge new-branch # выполнение слияния новой ветки в основную ветку
```
Теперь второй репозиторий (rep2) должен содержать структуру, которую вы указали:
```
rep2:
file1
file2
file3
```
Убедитесь, что вы делаете резервные копии своих репозиториев перед выполнением этих действий, чтобы не потерять данные, если что-то пойдет не так.