git checkout 명령으로 생성된 파일에 사용자 정의 권한을 강제하는 방법은 무엇입니까?

git checkout 명령으로 생성된 파일에 사용자 정의 권한을 강제하는 방법은 무엇입니까?

git checkout사용자 정의 권한을 가지려면 명령 으로 생성된 파일이 필요합니다 .

git을 설정해 도 core.sharedrepository=07770644 권한으로 작업 트리 파일이 생성됩니다. 하지만 그룹의 누군가가 쓸 수 있도록 최소한 0664가 되기를 바랍니다(사용자 정의 소유자 그룹을 지정하는 것도 매우 좋을 것입니다).

재귀적으로 chown/chmod를 적용하면 효과가 있을 수 있지만 최후의 수단이자 자원 낭비처럼 느껴집니다.

답변1

설치된 트리의 파일 권한을 관리하기 위해 git만을 사용하지 마십시오.

git은 단일 사용자입니다. 다중 사용자 시스템을 보호하기에 충분한 파일 소유권 및 권한을 추적하지 않습니다. 사용자가 한 명인 간단한 트리가 사용 사례에 충분하더라도 core.sharedrepository원하는 작업을 수행하는 데 어려움을 겪고 있습니다. 아마도 여전히 기본값을 사용하고 있습니까 umask?

소프트웨어 패키지 시스템이나 tar와 같은 일반 아카이브 등 실제 아카이브 형식을 고려하십시오. 아카이브를 생성하는 스크립트에서 올바른 권한을 얻으십시오.

또는 권한 수정 스크립트를 실행하는 것도 그렇게 나쁘지 않습니다. 원하는 경우 권한을 변경하기 전에 권한을 확인하여 파일 메타데이터가 불필요하게 변경되는 것을 방지하세요.


관련 없는 고려 사항: 이 트리가 업데이트될 경우 git은 파일을 동기화하지 않고 기록을 병합한다는 점에 유의하세요. 이해하다이 자식 배포 규칙왜 스크립팅이 git pull잘못된 것인지 이해하기 위해서입니다.

관련 정보