Найдите репозиторий GIT в определенном каталоге и выполните команду git bundle.

Найдите репозиторий GIT в определенном каталоге и выполните команду git bundle.

Я использую Ubuntu 12.04 TLS, в котором у меня есть репозиторий git в определенном каталоге. Я пытаюсь сделать запланированную резервную копию репозитория и поместить ее в определенный каталог, который можно будет отправить по почте.

В процессе я узнал, как найти все репозитории git в определенном каталоге, погуглив, я нашел следующую команду:

find /home/mysys/D/ -name .git -type d -prune

но он содержит путь как

/home/mysys/D/testing/.git

который выводит список всех файлов git, связанных с каталогом, и он работает, но мне нужно выполнить git bundle create directoryname.bundle --all, чтобы сделать его более автоматизированным, в котором я попробовал следующее

find /home/mysys/D/ -name .git -type d -prune -exec git bundle create test.bundle --all {} \;

Приведенный выше скрипт bash возвращает

fatal: Invalid gitfile format: .git

Как это сделать, чтобы все работало надежно.

Заранее спасибо.

решение1

Ты хочешь бытьвкаталог, контролируемый git, когда git bundleвыполняется, поэтому используйтеfind ... -execdir ... \;

find /home/mysys/D/ -type d -name .git -prune -execdir git bundle create backup.bundle --all \;

Это создаст backup.bundle во всех этих каталогах. Оттуда вы можете переместить их или обработать их с помощью дополнительных скриптов. Но сторона связывания вещей обрабатывается.

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