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

Я использую 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 - все, чтобы сделать его более автоматизированным, в котором я попробовал следующее

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

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

fatal: Invalid gitfile format: .git

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

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

1
задан 31 March 2016 в 14:57

1 ответ

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

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

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

2
ответ дан 1 April 2016 в 00:57
  • 1
    Я can' t, кажется, в состоянии ввести знак ~ Каждый раз, я пробую, я только получаю " я использую международную клавиатуру типа o, таким образом, я don' t знают what' s причина этого. Так или иначе, теперь я can' t решают мою проблему Единицы из-за отсутствия ~!!!!!! – Cristiana Nicolae 4 October 2018 в 02:01

Другие вопросы по тегам:

Похожие вопросы: