여러 사용자가 git 서버에 액세스하도록 허용하는 방법은 무엇입니까?

여러 사용자가 git 서버에 액세스하도록 허용하는 방법은 무엇입니까?

Git 서버를 설정했지만 사용자가 커밋을 푸시하는 데 몇 가지 문제가 있습니다. 총 3명의 사용자가 있지만 그 중 한 명이 특정 파일을 푸시하면 해당 파일은 다른 사용자에 대해 읽기 전용이 되며 푸시하려고 하면 압축 풀기가 실패합니다.

모든 권한을 재귀적으로 설정하여 이 문제를 일시적으로 해결할 수 있지만 777이는 잘못된 접근 방식이며 다음 푸시 전에만 문제를 해결합니다.

매번 권한을 변경하지 않고도 선택한 모든 사용자가 푸시하고 풀할 수 있도록 하려면 어떻게 해야 합니까?

답변1

저장소 만들기을(를) 사용하면 git init --shared이렇게 됩니다.:

Git 저장소가 여러 사용자 간에 공유되도록 지정합니다. 이를 통해 동일한 그룹에 속한 사용자가 저장소에 푸시할 수 있습니다. 지정되면 구성 변수 "core.sharedRepository"가 설정되어 해당 변수 $GIT_DIR아래의 파일과 디렉터리가 요청된 권한으로 생성됩니다.

쓰기 권한 이 있어야 하는 모든 사용자를 동일한 그룹에 넣으면 Git(다양한 SSH 및 스마트 서버 요소 포함) g+sx이 그룹 쓰기 가능 및 .chgrp -R

receive.denyNonFastForwards이렇게 하면 저장소의 설정 도 활성화되며 원하는 경우 수동으로 비활성화할 수 있습니다.

관련 정보