이 기사의 링크를 시도했지만 나에게 적합하지 않은 것 같습니다.https://stackoverflow.com/questions/31801271/what-are-the-supported-git-url-formats
문제는 로컬 git 서버가 설정되어 있고 /srv/repo/
예를 들어 사용자 이름으로 해당 이름으로 저장소를 만들 때 test.git
동일한 네트워크의 다른 로컬 컴퓨터에서 원격 서버로 추가하고 싶다는 것입니다 --bare
.testuser
test.git
예를 들어 로컬 Git 서버의 IP 주소는 192.168.1.10이고 IP 주소가 192.168.1.100인 컴퓨터에 해당 저장소를 추가해야 합니다.
이 URL을 사용하고 사용자 owner 를 변경하면 test.git
push 및 pull이 가능하며 이는 예상대로 작동함을 의미합니다.
sudo chown -R git:testuser test.git/
sudo chown -R git:testuser test.git/*
[email protected]:/srv/repo/test.git
하지만 이름이 다른 사용자를 사용하여 저장소를 만들었습니다. testuser
아마도 저장소의 사용자 및 그룹 소유자가 test.git
속한 것 같습니다 testuser
. 사용자 소유자를 다음으로 변경하지 않으면 test.git
푸시 및 풀이 실패합니다 git
.sudo chown -R git:testuser test.git/*
원격 저장소를 다음과 같이 추가하고 싶습니다. git://192.168.1.10/~testuser/srv/repo/test.git/
에 있기 때문에 사용자 대신 사용자로 사용하십시오.testuser
git
test.git
testuser
답변1
SSH 프로토콜을 사용하여 서버측 저장소에 액세스하는 경우 읽기/쓰기 권한은 서버의 사용자/그룹/전세계 권한에 따라 결정됩니다. 리포지토리에 대해 이 권한을 설정하려면 git init
리포지토리를 생성할 때 매개변수와 함께 명령을 사용하면 됩니다. --shared
설정하면 --shared=true
저장소를 그룹 수준에서 쓸 수 있게 됩니다. 그러면 동일한 그룹의 모든 사용자가 저장소에 쓸 수 있습니다.
그러면 단계는 다음과 같습니다.
mkdir test.git
git init --bare --shared=true test.git
git 프로토콜을 사용하면 서버에 통신을 처리하는 데몬이 있습니다. 이 경우 데몬과 저장소는 동일한 사용자가 소유할 수 있습니다.
서버 측 Git 설정에 대한 자세한 내용은 다음에서 확인할 수 있습니다.힘내 책.