2013-04-08 48 views
9

Tôi nghi ngờ câu hỏi này đã được hỏi trước đó, mặc dù tất cả những gì tôi có thể tìm thấy là những câu hỏi tương tự nhưng khác biệt hoặc câu hỏi tương tự với chỉ những giải pháp không hiệu quả đối với tôi.Tự động phản chiếu một repo GitHub

Có một kho lưu trữ trên GitHub mà tôi không có quyền kiểm soát và muốn phản chiếu. Với gương tôi có nghĩa là có một bản sao được cập nhật tự động. Tôi muốn chiếc gương này cũng có trên GitHub. Tốt hơn là bất kỳ giải pháp nào sẽ không liên quan đến nhiều cấu hình hoặc thiết lập hoạt động từ phía tôi. Tuy nhiên nếu cần thiết tôi có thể có một kịch bản chạy bằng cách sử dụng một cron trên một số VPS.

Tôi có thể tạo gương như vậy hoàn toàn thông qua GitHub không? Nếu không, có sẵn sàng để sử dụng tập lệnh để thực hiện việc này không?

+0

bạn muốn đạt được điều gì với gương? Vì nó sẽ được tự động cập nhật, bất kỳ xóa và mận nào cũng sẽ ảnh hưởng đến bản sao của bạn. – cweiske

+0

Tôi đã cập nhật câu trả lời của mình bằng công cụ sao chép Git địa phương. – VonC

Trả lời

6

Câu hỏi thú vị, xem xét tất cả Eclipse repos được nhân đôi on GitHub.

Nhưng, như được minh họa bởi recent (April 2013) article từ Wayne, việc tái không có cách GitHub tự động để phản chiếu một repo.

Theo như tôi biết, GitHub không có cơ chế lập lịch kéo thường xuyên (đúng nếu tôi sai), có nghĩa là chúng tôi có trách nhiệm đẩy bản sao GitHub.

Xem thêm bug 402183.

Vì vậy, tập lệnh trên VPS (tức là, một số thiết lập bạn) vẫn là cách chắc chắn nhất để thực hiện việc này.

xây dựng trên "HowTo mirror your git repository on Github", bạn sẽ cần bản sao địa phương của bạn, với một kịch bản mà sẽ:

  • thường xuyên kéo từ repo GitHub
  • push to gương trên Github

Cập nhật 2015 (2 năm sau): một công cụ như beefsack/git-mirror (trong go) là:

được thiết kế để tạo và phục vụ các gương chỉ đọc của kho Git của bạn tại địa phương hoặc bất cứ nơi nào bạn chọn.
Cúp GitHub gần đây củng cố thực tế là các nhà phát triển không nên dựa vào một điều khiển từ xa duy nhất để lưu trữ mã.

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