![Suchen Sie das GIT-Repository in einem bestimmten Verzeichnis und führen Sie den Befehl „git bundle“ aus.](https://rvso.com/image/1087121/Suchen%20Sie%20das%20GIT-Repository%20in%20einem%20bestimmten%20Verzeichnis%20und%20f%C3%BChren%20Sie%20den%20Befehl%20%E2%80%9Egit%20bundle%E2%80%9C%20aus..png)
Ich verwende Ubuntu 12.04 TLS, wo ich ein Git-Repository in einem bestimmten Verzeichnis habe. Ich versuche, das geplante Backup des Repositorys zu erstellen und es in einem bestimmten Verzeichnis zu platzieren, das per E-Mail versendet werden kann.
Dabei erfahre ich, wie ich alle Git-Repositorys in einem bestimmten Verzeichnis finde. Beim Googeln habe ich den folgenden Befehl gefunden
find /home/mysys/D/ -name .git -type d -prune
aber es enthält den Pfad als
/home/mysys/D/testing/.git
die alle im Verzeichnis verknüpften Git-Dateien auflistet und es funktioniert, aber was ich ausführen muss, ist git bundle create directoryname.bundle --all, um es automatisierter zu machen, wobei ich Folgendes ausprobiert habe
find /home/mysys/D/ -name .git -type d -prune -exec git bundle create test.bundle --all {} \;
Das obige Bash-Skript gibt
fatal: Invalid gitfile format: .git
So geht's, damit es robust funktioniert.
Dank im Voraus.
Antwort1
Du möchtest SeinIndas git-gesteuerte Verzeichnis, wenn git bundle
ausgeführt wird, verwenden Sie alsofind ... -execdir ... \;
find /home/mysys/D/ -type d -name .git -prune -execdir git bundle create backup.bundle --all \;
Dadurch wird in allen diesen Verzeichnissen ein Backup-Bundle erstellt. Von dort aus können Sie diese verschieben oder mit weiteren Skripten verarbeiten. Die Bündelungsseite der Dinge ist jedoch erledigt.