2009-03-06 31 views
15

Gần đây tôi đã cố gắng thiết lập git repo trên một hộp linux và lãng phí khoảng 10 giờ với hoàn toàn không có kết quả. Không có bất kỳ vấn đề với biên dịch hoặc bất cứ điều gì như thế, nó chỉ là vấn đề cấu hình. 2 giờ sau đó tôi đã nhanh nhẹn để làm tất cả mọi thứ tôi cần:Làm cách nào để thiết lập kho lưu trữ git công khai?

  1. Repos công
  2. web ui
  3. push/pull với các điều khoản cho mỗi người dùng (không gắn với tài khoản linux)

Tất cả mọi thứ mà tôi có thể thấy về git giả định rằng bạn hoặc là chỉ cần chạy nó cục bộ, sử dụng github hoặc đã có tất cả mọi thứ thiết lập. Tôi hoặc là không tìm kiếm các từ khóa phù hợp hoặc chỉ có hoặc không có rất ít thông tin về chủ đề này.

Tôi muốn thử git, nhưng thiết lập nó là một trải nghiệm rất khó chịu. Bất cứ ai có thể trỏ đến một cái gì đó hữu ích trong các điều khoản này?

cảm ơn bạn!

+0

Chỉ cần thêm các giải pháp không thể SSH, theo yêu cầu. – VonC

+0

Bạn có quản lý thiết lập máy chủ git không? Tôi đã thử giải pháp git-daemon. Nó hoạt động tốt. – VonC

Trả lời

13

Tôi tin rằng (nhưng tôi đã không thử nó chưa) mà gitosis là con đường để đi để:
Cập nhật: năm 2011, tôi đã thực sự triển khai gitolite

  • làm lưu trữ git Repos dễ dàng hơn và an toàn hơn. Nó
  • quản lý nhiều vị trí lưu trữ trong một tài khoản người dùng, sử dụng các khóa SSH để xác định người dùng.
    Người dùng cuối không cần tài khoản shell trên máy chủ, họ sẽ nói chuyện với một tài khoản được chia sẻ sẽ không cho phép họ chạy các lệnh tùy ý.

Quá trình cài đặt Tôi recommand là một thực hiện từ một bài đăng khách hàng để sao chép các cài đặt đầy đủ của gitolite trên máy chủ:

(from-client method) install from the client to the server

Hãy nhớ rằng: gitolite manages authorization, not authentication (SSH): nó có thể được sử dụng mà không cần SSH , nhưng triển khai tự nhiên của nó là thông qua SSH và forced command mechanism. (Như gitosis là gì, nhưng với nhiều tính năng hơn)


tài liệu tham khảo Cũ cho gitosis:

Đây là một bước-by-step tutorial.

Và sau đó một ứng dụng của hướng dẫn: Gitosis — making hosting multiple Git repositories manageable (dành cho Mac) hoặc installing gitosis on Ubuntu

Tiếp nối bởi: Adding users to our secure Git setup

Finished với: Git subprojects (từ máy chủ gitosis bạn quản lý tất cả những khác nhau kho git)


Đối thực sự ánh sáng (server cgi) kho Git công cộng, bạn có thể:

  • thiết lập một git server: git-daemon; nó sẽ nghe trên cổng 9418. Theo mặc định, nó sẽ cho phép truy cập vào bất kỳ thư mục nào trông giống như một thư mục git và chứa tệp ma thuật git-daemon-export-ok. Việc chuyển một số đường dẫn thư mục như các đối số git-daemon sẽ hạn chế việc xuất khẩu sang các đường dẫn đó.
    Bạn cũng có thể chạy git-daemon dưới dạng dịch vụ inetd;
  • export with http nơi kho git trần mới được tạo ra trong một thư mục được xuất khẩu bởi các máy chủ web, và làm một số điều chỉnh để cung cấp cho khách hàng web một số thông tin thêm họ cần

Dưới đây là làm thế nào để làm điều đó trên một Apache server .


Bài viết năm 2010 "8 ways to share your git repository" đề cập đến tất cả các khả năng cấp quyền truy cập vào kho lưu trữ Git.

+0

Hướng dẫn sai lầm giả định rằng tôi muốn sử dụng SSH và khách hàng của tôi dựa trên Linux. Thật không may gitosis và hướng dẫn đó đã đóng góp đáng kể cho thời gian tôi đã lãng phí cố gắng để có được git để làm việc: ( – alex

+0

Xin lỗi để nghe điều đó. "Linux hộp": những gì distro bạn đang sử dụng? Và những khó khăn cụ thể là bạn phải đối mặt bằng cách sử dụng gitosis (bạn có thể thêm tất cả các dữ liệu đó vào câu hỏi của bạn, để hy vọng có được câu trả lời tốt hơn). Trong thời gian chờ đợi, tôi sẽ thử gitosis trên thiết lập Ubuntu của mình vào ngày mai;) – VonC

+0

Vấn đề là tất cả điều này đều dựa trên SSH. Có thể nào để cài đặt git trên một máy chủ cgi, nói lighttpd không? – alex

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