Gitosis tự nó không có chức năng loại bỏ vì cách nó được quản lý thông qua cam kết git. Nếu bạn xóa kho lưu trữ khỏi gitosis.conf
và cam kết thay đổi thì kho lưu trữ không còn truy cập được nữa. Bạn có thể kích hoạt lại nó sau hoặc cuối cùng bạn có thể đăng nhập vào máy chủ và xóa tệp khỏi repositories/
thư mục gitosis .
Tôi đã nhân bản gitosis-admin.git
kho lưu trữ của mình và thêm vào sau đó cam kết:
[group gitosis-admin]
writable = gitosis-admin test1
members = jbouse
Sau đó tôi đã đi đến thư mục nhà của tôi và thực hiện như sau:
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
Điều này sẽ đẩy thành công đến máy chủ và sau đó tôi xóa sạch test1
thư mục đó và sao chép nó khỏi 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
Điều này cũng sẽ đẩy thành công vì vậy tôi sau đó xóa test1
dòng khỏi gitosis.conf
cấu hình và cam kết thay đổi ... Sau đó tôi thử cách sau:
cd test1
echo "Final test" > test.txt
git add test.txt
git commit -m 'Third commit'
git push
Không giống như hai lần đẩy trước, lần này không thành công với thông báo lỗi sau:
ERROR:gitosis.serve.main:Repository read access denied
fatal: The remote end hung up unexpectedly
Lỗi là do gitosis không có bất kỳ cấu hình nào cho test1
kho lưu trữ bây giờ. Nếu bạn cố gắng sao chép lại kho lưu trữ, bạn sẽ nhận được cùng một lỗi.