Cách xóa kho Git bằng Gitosis


10

Tôi đang sử dụng Gitosis để quản lý một số kho Git trên máy chủ từ xa. Vì tôi là người bắt đầu với nó, tôi đã phạm rất nhiều sai lầm. Đó là lý do tại sao ngay bây giờ tôi cần xóa một kho lưu trữ Git mà tôi đã tạo bằng Gitosis. Điều này có thể sử dụng Gitosis hay tôi phải đăng nhập vào máy đó và thực hiện từ đó?

Câu trả lời:


13

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.confvà 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.gitkho 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 test1thư 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 test1dòng khỏi gitosis.confcấ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 test1kho 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.


5
Sau đó, bạn có thể loại bỏ các kho vật lý trên máy chủ. Đăng nhập, vào thư mục chính của git, đi đến "kho" từ đó và bạn có thư mục cho tất cả các kho lưu trữ của bạn. Loại bỏ những người bạn bị vô hiệu hóa trong gitosis.conf.
Eugene Lazutkin

2

Bạn phải đăng nhập vào máy và xóa kho lưu trữ ở đó và sau đó bạn cũng phải xóa kho lưu trữ khỏi tệp cấu hình gitosis.


0

Câu trả lời của Jeremy Bouse là một chiến lược tốt, nhưng thực tế không xóa repo. Đôi khi bạn có thể cần phải xóa repo vì không gian đĩa, bảo mật, v.v.

Vì vậy, tôi muốn giới thiệu phương pháp của ultrafedde, với việc bổ sung rằng bạn có thể sẽ cần phải suxóa repo mà người dùng "git" bạn thiết lập sở hữu.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.