Wie kann ich eine Rsync-Synchronisierung durchführen, die den Ordner .git/ ausschließt, die Datei .git/config aber trotzdem beibehält?

Wie kann ich eine Rsync-Synchronisierung durchführen, die den Ordner .git/ ausschließt, die Datei .git/config aber trotzdem beibehält?

Kurz zusammengefasst: TLDR

Wie kann ich per rsync einen Ordner synchronisieren, der .git/ ausgeschlossen ist, die Datei .git/config aber trotzdem behält?

MeinGoogle-Sucheist nicht hilfreich, deshalb habe ich hier gefragt.

Alle Einzelheiten

Ich möchte einen Snapshot des gesamten Codes meiner Projekte auf einem anderen Computer erstellen.

Jeder Projektcodeordner ist ein Git-Klon, sie verfügen also über einen .git-Ordner.

Ich brauche diese .git-Dateien nicht und werde sie daher ausschließen.

Aber ich muss wissen, aus welchem ​​Git-Repository die Projekte stammen, also muss ich .git/config behalten.

Was ich versucht habe und nicht funktioniert hatstarte es

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

Wenn Sie wissen, wie das richtig geht, teilen Sie es uns bitte mit.

Antwort1

Habe die Antwort gefundenHier

Die Idee istinclude.git/konfigurationUndexclude.git/*

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

Details anzeigen und ausführenHier

verwandte Informationen