특정 디렉터리에서 GIT Repository를 찾아 git Bundle 명령을 실행합니다.

특정 디렉터리에서 GIT Repository를 찾아 git Bundle 명령을 실행합니다.

나는 특정 디렉터리에 git 저장소가 있는 우분투 12.04 TLS를 사용하고 있습니다. 내가 시도하는 것은 저장소의 예약된 백업을 가져와 메일로 보낼 수 있는 특정 디렉터리에 배치하는 것입니다.

그 과정에서 인터넷 검색을 통해 특정 디렉토리의 모든 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 bundle실행될 때 git 제어 디렉토리 이므로 사용하십시오.find ... -execdir ... \;

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

그러면 모든 디렉터리에 backup.bundle이 생성됩니다. 거기에서 해당 항목을 이동하거나 더 많은 스크립팅을 사용하여 처리할 수 있습니다. 그러나 번들링 측면이 처리됩니다.

관련 정보