모든 하위 모듈에서 분기 제거

모든 하위 모듈에서 분기 제거

나는 많은 하위 모듈이 있는 프로젝트를 가지고 있으며 하위 모듈에서 foo라는 이름의 모든 원격 브랜치를 삭제하고 싶습니다.만약 존재한다면.

나는 다음을 시도하고 있습니다 :

git submodule foreach git push origin :foo

지점이 다음 위치에 있으면 예상대로 작동합니다.모두그러나 하위 모듈에 분기가 없으면 foreach가 중지됩니다.

Stopping at 'modules/bar'; script returned non-zero status.

오류를 억제하는 방법은 무엇입니까?

답변1

~에서git 하위 모듈 매뉴얼 페이지:

하위 모듈의 명령에서 0이 아닌 반환이 발생하면 처리가 종료됩니다. 명령 끝에 ||:를 추가하면 이를 무시할 수 있습니다.

이는 다음 작업을 수행해야 함을 의미합니다.

git submodule foreach 'git push origin :foo || :'

OR 이며 다음 명령을 실행합니다. ||첫 번째 명령이 0이 아닌 값을 반환하면 :true를 반환합니다 .

관련 정보