![Encontre o repositório GIT em um diretório específico e execute o comando git bundle](https://rvso.com/image/1087121/Encontre%20o%20reposit%C3%B3rio%20GIT%20em%20um%20diret%C3%B3rio%20espec%C3%ADfico%20e%20execute%20o%20comando%20git%20bundle.png)
Estou usando o Ubuntu 12.04 TLS no qual tenho um repositório git em um diretório específico, o que estou tentando é fazer o backup agendado do repositório e colocá-lo em um diretório específico que pode ser enviado por correio.
No processo, descobri como encontrar todo o repositório git em um diretório específico pesquisando no Google e encontrei o comando abaixo
find /home/mysys/D/ -name .git -type d -prune
mas contém o caminho como
/home/mysys/D/testing/.git
que lista todos os arquivos git associados ao diretório e está funcionando, mas o que eu preciso para executar git bundle create directoryname.bundle --all para torná-lo mais automatizado, no qual tentei o seguinte
find /home/mysys/D/ -name .git -type d -prune -exec git bundle create test.bundle --all {} \;
O script bash acima retorna
fatal: Invalid gitfile format: .git
Como fazer isso para que funcione de maneira robusta.
Desde já, obrigado.
Responder1
Você quer seremo diretório controlado pelo git quando git bundle
é executado, então usefind ... -execdir ... \;
find /home/mysys/D/ -type d -name .git -prune -execdir git bundle create backup.bundle --all \;
Isso criará um backup.bundle em todos esses diretórios. A partir daí você pode movê-los ou processá-los com mais scripts. Mas o lado agrupado das coisas é resolvido.