¿Cómo realizar rsync que excluye la carpeta .git/ pero aún conserva el archivo .git/config?

¿Cómo realizar rsync que excluye la carpeta .git/ pero aún conserva el archivo .git/config?

En resumen TLDR

Para sincronizar una carpeta que tiene .git/ excluido pero aún conserva el archivo .git/config, ¿cómo se hace?

Mibúsqueda de GoogleNo es útil, así que pregunté aquí.

Todos los detalles

Quiero tomar una instantánea de todo el código de mis proyectos en otra máquina.

Cada carpeta de código de proyecto es una clonada por git, por lo que tienen una carpeta .git.

No necesito esos .git, así que los excluiré.

Pero necesito saber de qué repositorio de git provienen los proyectos, por lo que necesito conservar .git/config.

Lo que intenté y no funcionóejecutarlo

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

Si conoce la forma correcta de hacerlo, compártala.

Respuesta1

encontré la respuestaaquí

La idea esinclude.git/configyexclude.git/*

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

Ver detalles y ejecutarloaquí

información relacionada