Gitosis를 사용하여 원격 서버에서 일부 Git 리포지토리를 관리하고 있습니다. 처음부터 시작했기 때문에 많은 실수를합니다. 이것이 바로 지금 Gitosis로 만든 Git 리포지토리를 삭제해야하는 이유입니다. Gitosis를 사용하여 가능합니까, 아니면 해당 머신에 로그인하여 거기서해야합니까?
Gitosis를 사용하여 원격 서버에서 일부 Git 리포지토리를 관리하고 있습니다. 처음부터 시작했기 때문에 많은 실수를합니다. 이것이 바로 지금 Gitosis로 만든 Git 리포지토리를 삭제해야하는 이유입니다. Gitosis를 사용하여 가능합니까, 아니면 해당 머신에 로그인하여 거기서해야합니까?
답변:
Gitosis 자체는 git commit을 통해 관리되는 방식 때문에 remove 기능이 없습니다. 저장소에서 저장소를 제거하고 gitosis.conf
변경을 커밋하면 저장소에 더 이상 액세스 할 수 없습니다. 나중에 다시 활성화하거나 결국 서버에 로그인하여 gitosis repositories/
디렉토리 에서 파일을 제거 할 수 있습니다 .
gitosis-admin.git
리포지토리를 복제 하고 다음을 추가 한 후 커밋했습니다.
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
그런 다음 홈 디렉토리로 이동하여 다음을 수행했습니다.
mkdir test1
cd test1
git init
git remote add origin git@server:test1.git
echo "Testing" > test.txt
git add test.txt
git commit -m 'First commit'
git push origin master:refs/heads/master
이것은 서버로 성공적으로 푸시 한 다음 test1
디렉토리를 지우고 gitosis에서 복제합니다.
git clone git@server:test1.git
cd test1
echo "Test worked" > test.txt
git add test.txt
git commit -m 'Second commit'
git push
이것은 또한 성공적으로 푸시되어야하므로 구성 에서 test1
라인 을 제거 gitosis.conf
하고 변경 사항을 커밋하십시오 ... 그런 다음 다음을 시도하십시오.
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
이전 두 푸시와 달리이 오류는 다음 오류 메시지와 함께 실패합니다.
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
오류는 현재 gitosis에 test1
저장소에 대해 구성된 것이 없기 때문 입니다. 리포지토리를 다시 복제하려고하면 동일한 오류가 발생합니다.
머신에 로그인하여 리포지토리를 제거한 다음 gitosis 구성 파일에서 리포지토리를 제거해야합니다.