2012-03-09 28 views
40

Một trong những mục tiêu của git là phân cấp. Nếu Github là trung tâm của git, thì có thể nó có thể xem xét rằng có các trung tâm khác ngoài đó và cho phép yêu cầu kéo xảy ra trên các URL git là không phải được lưu trữ trên github.cách thực hiện yêu cầu kéo * mà không cần * tài khoản github?

documentation khá rõ ràng về điều này: yêu cầu kéo yêu cầu bạn có tài khoản Github và bạn ngã ba một kho lưu trữ trên github. Đây có phải là giới hạn kỹ thuật hiện tại thực sự hay có cách nào để giải quyết vấn đề này trên Github không?

Nếu không, cuối cùng nó có kế hoạch cho phép công cụ "yêu cầu kéo" của Github thực sự cho phép kéo từ kho lưu trữ bên ngoài silo Github không?

Trả lời

33

Bạn có thể sử dụng git request-pull để đạt được cùng một loại quy trình làm việc (được cải thiện với Git1.7.9 +).

Xem bài viết "using signed tag in pull-requests"

Một phân phối công việc điển hình sử dụng Git là một đóng góp đến ngã ba một dự án, xây dựng trên đó, công bố kết quả vào kho lưu trữ công cộng của mình, và yêu cầu các "thượng nguồn" người (thường là chủ sở hữu của dự án mà cô ấy chia đôi) để kéo từ kho lưu trữ công cộng của mình. Yêu cầu "kéo" như vậy được thực hiện dễ dàng bằng lệnh git request-pull.

Bắt đầu từ bản phát hành Git v1.7.9, người đóng góp có thể thêm thẻ đã ký vào cam kết ở đầu lịch sử và yêu cầu người tích hợp kéo thẻ đã ký đó.
Khi tích hợp chạy git pull:

  • thẻ ký được tự động xác nhận để đảm bảo rằng lịch sử không bị sửa đổi. Ngoài ra, cam kết hợp nhất kết quả ghi lại nội dung của thẻ đã ký, để người khác có thể xác minh rằng nhánh được hợp nhất bởi trình tích hợp được ký bởi người đóng góp, mà không tìm nạp thẻ đã ký dùng để xác thực yêu cầu kéo riêng biệt và giữ nó trong không gian tên refs.
+4

Điều này khá thú vị đối với những người văn minh hoạt động hoàn toàn và tự nhiên bên ngoài github! :) Tuy nhiên, điều đó sẽ không nói với những người đó trong Github để kéo công cụ của tôi. Trong thực tế, tôi vẫn chưa rõ làm thế nào tôi có nghĩa vụ phải hỏi "thượng nguồn": thông qua email? – anarcat

+2

@anarcat bạn sẽ gửi email được chuẩn bị bởi yêu cầu git pull, thông qua "Soạn thư" của GitHub (https://github.com/inbox/new) – VonC

+0

Cảm ơn! Tôi không biết về yêu cầu-kéo: nó là tốt đẹp bởi vì nó cho phép làm việc xung quanh một vấn đề an ninh với 'git pull' ... tuy nhiên, nó không tương thích với Github, đó là những gì tôi đang tìm kiếm ban đầu ... – anarcat

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