현재 디렉토리의 각 하위 디렉토리에 git status
과 같은 것을 실행하는 스크립트를 작성 중이므로 여러 git repos에 대한 정보를 신속하게 얻을 수 있습니다. 그러나 repos를 수정하는 명령을 방지하려고합니다. 한 번에 10 개의 레포지를 저 지르지 않을 것입니다. 각 repo에 분기를 보려면 git branch -a
을 실행하고 각 repo에 새로운 분기를 생성하려면 git branch new-branch-name
을 실행하지 않을 수 있기 때문에 git 하위 명령의 화이트리스트를 사용할 수는 없습니다.git을 읽기 전용 모드로 실행하는 방법이 있습니까?
그렇다면 git을 실행하여 repo에 수정을 가하는 대신 중단하고 읽기 전용 명령을 실행할 때 제대로 작동하도록하는 방법이 있습니까?
편집 : 내가하고 싶은 일은 다음과 같이 작동하는 git-subdirs 명령을 만드는 것입니다. git subdirs COMMAND ARGS
을 입력하면 for dir in */; do cd $dir && git COMMAND ARGS && cd ..; done
(추가 오류 검사 만 사용)과 같은 작업을 수행하려고합니다. 예를 들어 git COMMAND ARGS
이 repo를 수정하는 경우를 제외하고는 다른 repo에서 동일한 변경을 수행하는 것이 거의 불가능하기 때문에이를 수행하고 싶지 않습니다.
페치를 방지 하시겠습니까? 이 스크립트와 같은 매우 일반적인 사용 사례라는 것을 알 수 있습니다.이 스크립트를 repo를 수정하지 않는 것으로 생각할 수도 있지만 분명히 있습니다. – Cascabel
글쎄, 나는 여전히 비파괴 적으로 수정하는 패치 또는 푸시와 같은 명령에 대해 허용 목록을 구현할 수 있지만 잘못 입력 된 명령 하나를 사용하여 10 repos를 실수로 끊을 수있는 기본 구현으로 시작하는 것이 좋습니다. –
사실, push는'-f'를 사용하면 파괴적 일 수 있습니다. 따라서'git branch' 예제와 같습니다. – MatrixFrog