2011-08-11 37 views
5

Tôi đã thiết lập gitolite trên máy chủ Linux của mình và thêm máy tính xách tay của tôi vào kho lưu trữ gitolite-admin. Tôi đã buộc phải định dạng máy tính xách tay của tôi (ổ đĩa cứng xấu) vì vậy tôi cần phải tìm ra cách để lấy lại quyền truy cập vào các kho lưu trữ gitolite khác của tôi. Đó là giá trị đề cập đến, tôi có quyền truy cập root trên máy chủ Linux của tôi, nếu điều đó giúp. Tôi không thành thạo với SSH/khóa công khai, vv, vì vậy nếu ai đó có thể giúp đỡ, tôi sẽ đánh giá cao nó.Sửa chữa truy cập Gitolite

Trả lời

11

Nếu bạn có phiên bản 2.0.3 hoặc mới hơn được cài đặt, bạn có thể sử dụng lệnh gl-admin-push để đẩy từ một bản sao cục bộ của kho admin:

Xem gl-admin-push: bypassing gitolite for the gitolite-admin repo:

  • su để sử dụng Gitolite của bạn
  • cd /tmp && git clone ~/repositories/gitolite-admin.git
  • thay thế khóa công khai cũ của bạn trong keydir/ với cái mới của bạn, sau đó cam kết
  • ~/.gitolite/src/gl-admin-push để đẩy nó; này sẽ cập nhật của .ssh/authorized_keys sử dụng để tích hợp của bạn mới chính

Nếu bạn đang sử dụng một cái gì đó sớm hơn 2.0.3, bạn có thể sử dụng lệnh gl-dont-panic để thay thế một chìa khóa:

  • su để sử dụng Gitolite của bạn
  • sao chép khóa công khai mới của bạn thành /tmp/username.pub
    username.pub phải giống như tên tệp hiện có trong keydir/ của bạn; bạn có thể liệt kê các nội dung của keydir/ hiện với

    GIT_DIR="$HOME"/repositories/gitolite-admin.git git ls-tree master:keydir 
    
  • chạy cd /tmp && ~/.gitolite/src/gl-dont-panic username.pub để cài đặt thay thế chính

+0

Giải pháp hoàn hảo. Cảm ơn. – Mullins

4

Câu trả lời ở trên là hữu ích. Nhưng đối với gitolit 3.04 (và có thể sau này) sử dụng đẩy gitolit thay vì gl-admin-push.

+0

Hoạt động hoàn hảo! Tôi đã có thể sửa tài khoản bị hỏng của mình :) Tôi đã sử dụng chính xác: '~/gitolite/src/gitolite push' – boryn

Các vấn đề liên quan