나는 많은 하위 모듈이 있는 프로젝트를 가지고 있으며 하위 모듈에서 foo라는 이름의 모든 원격 브랜치를 삭제하고 싶습니다.만약 존재한다면.
나는 다음을 시도하고 있습니다 :
git submodule foreach git push origin :foo
지점이 다음 위치에 있으면 예상대로 작동합니다.모두그러나 하위 모듈에 분기가 없으면 foreach가 중지됩니다.
Stopping at 'modules/bar'; script returned non-zero status.
오류를 억제하는 방법은 무엇입니까?
답변1
하위 모듈의 명령에서 0이 아닌 반환이 발생하면 처리가 종료됩니다. 명령 끝에 ||:를 추가하면 이를 무시할 수 있습니다.
이는 다음 작업을 수행해야 함을 의미합니다.
git submodule foreach 'git push origin :foo || :'
OR 이며 다음 명령을 실행합니다. ||
첫 번째 명령이 0이 아닌 값을 반환하면 :
true를 반환합니다 .