백그라운드에서 모든 Git 저장소 가져오기

백그라운드에서 모든 Git 저장소 가져오기

오프라인일 때 현재 상태가 준비되도록 가끔씩 모든 저장소를 가져오는 cronjob을 설정할 생각입니다. 다음과 같은 내용입니다(더 나은 가독성을 위해 래핑됨).

find $HOME -name .git -type d -printf "%h\0" |
  parallel --gnu -0 --delay 0.2 --jobs 100 --progress \
  'cd {}; git fetch --all --quiet'

인수가 실패하면 어떻게 되는지 상관하지 않습니다. 다음 번에는 성공할 수도 있습니다. 어쩌면 오류 출력을 기록할 수도 있습니다. 내 질문은 다음과 같습니다

  • 커밋할 때 백그라운드 프로세스가 Git 저장소로 가져오면 어떻게 되나요?
  • parallel정말 안전한 스위치를 만들기 위해 다른 스위치를 추천해 주실 수 있나요 ?

답변1

저는 2년 동안 아무런 문제 없이 백그라운드에서 로컬 Git 저장소를 가져오고 있습니다. 현재 crontab에는 다음과 같은 내용이 포함되어 있습니다.

savelog -n -c 400 ~/log/git-fetch.log
find ~/git -type d -execdir [ -d '{}/.git' ]  \; -print -prune |
    parallel --gnu --keep-order \
    "date; echo {}; cd {}; git fetch --all --verbose" \
    >> ~/log/git-fetch.log 2>&1

(그러나 한 줄에).

관련 정보