Как выполнить rsync, исключив папку .git/, но сохранив файл .git/config?

Как выполнить rsync, исключив папку .git/, но сохранив файл .git/config?

Вкратце TLDR

Как выполнить rsync для папки, в которой исключен файл .git/, но при этом сохранить файл .git/config?

Мойпоиск Гуглне помогло, поэтому я спросил здесь.

Полная информация

Я хочу сделать снимок кода всех моих проектов на другой машине.

Каждая папка с кодом проекта клонирована с помощью Git, поэтому у них есть папка .git.

Мне эти .git не нужны, поэтому я их исключим.

Но мне нужно знать, из какого git-репозитория берутся проекты, поэтому нужно сохранить .git/config.

Что я пробовал и не сработалозапустить его

rsync -chazvP --dry-run --exclude=".git" --include=".git/config"  $FROM/ $TO/
#             .         .                .                        .      .

Если вы знаете, как это правильно сделать, пожалуйста, поделитесь.

решение1

Нашел ответздесь

Идея в том,include.git/configиexclude.git/*

rsync -chazP  --include '.git/config'  --exclude '.git/*'  "$FROM/" "$TO/"
#     .       include must go first   .                    .        .

Просмотреть детали и запуститьздесь

Связанный контент