2010-03-31 20 views
6

Tôi hiểu rằng Git có thể được sử dụng mà không có kho lưu trữ trung tâm. Tuy nhiên, tôi đang bắt đầu một dự án với nhiều người khác và chúng tôi được phân phối theo địa lý. I E. Chúng tôi sẽ không bao giờ được trên cùng một mạng LAN để đồng bộ hóa repos.Git có thể đẩy/kéo qua internet để phân phối repo không?

Vì vậy, câu hỏi của tôi: Có thể đẩy/kéo các thay đổi từ mỗi người khác repos qua internet không? Nếu vậy, làm thế nào để tôi đi về nó? Cách dễ dàng nhất.

Thanx trước.

+3

nếu bạn có thể truy cập vào máy ở đầu bên kia thông qua ssh bạn có thể đẩy/kéo với git –

+0

Thanx cho những phản hồi tuyệt vời. Đã suy nghĩ để đi với github, nhưng đã chỉ tự hỏi nếu đó là cách ưa thích/dễ nhất, hoặc cho dù các tuyến đường phân phối hoàn toàn là con đường để đi. Tôi có lẽ sẽ dính với github sau đó. –

+0

GitHub là giải pháp ít rắc rối nhất cho đến nay –

Trả lời

12

Nếu bạn có quyền truy cập SSH đến máy của nhau (có thể là một chút dễ dàng hơn để thiết lập trên một số mạng hơn git: // truy cập giao thức) sau đó nó dễ dàng như:

git pull ssh://[email protected]:/path/to/repository/.git 

Nếu trực tiếp truy cập bằng bất kỳ giao thức nào là không thể (ví dụ: nếu bạn đang đứng sau một bộ định tuyến với NAT) thì bạn luôn có thể gửi từng bản vá khác.

Nhưng Git có một cách khác để thực hiện điều này, git-bundle, cho phép bạn gửi tệp (qua email hoặc bạn gửi tệp) tới cộng tác viên của mình có thể được đẩy và kéo đến và từ kho lưu trữ. Tác giả của Pro Git có một số blog post tutorial on this.

3

Bạn cần một số loại kết nối "không trực tiếp" (nghĩa là nếu bạn ở đằng sau bộ định tuyến, đó là vấn đề). Nếu tôi là bạn, tôi sẽ đi theo số github

Phần trợ giúp giải thích mọi thứ độc đáo.

+2

bạn có thể ở đằng sau một bộ định tuyến miễn là bạn ở trong vùng dmz của bộ định tuyến. –

+1

Tôi không sử dụng nó bản thân mình, nhưng nó rõ ràng từ nhiều câu hỏi khác mà người dùng đã thành công được sử dụng git thông qua ssh trên cửa sổ hộp; cổng chuyển tiếp chỉ là cài đặt bộ định tuyến nhanh. Lưu ý rằng đối với các dự án nguồn đóng, một lựa chọn khác là trả tiền cho lưu trữ git riêng. – Cascabel

+3

@fuzzy lollipop: Xin vui lòng, xin vui lòng không mở * tất cả * cổng vào máy tính của riêng bạn chỉ để có được một duy nhất cho SSH mở. – Cascabel

5

Nếu bạn có thể ssh vào máy tính của nhau, bạn có thể làm git đẩy/kéo vào máy tính của nhau. Tuy nhiên, nó không thực sự khuyến khích để có một kho lưu trữ ngang hàng hoàn toàn. Một trong các bạn nên duy trì kho lưu trữ "trần" mà mọi người đồng bộ hóa, nếu không, you will run into strange and annoying situations when you push to a repository that someone else is working on.

Thực sự tốt nhất là sử dụng github, trừ khi bạn đang làm việc trên nguồn đóng và không thể trả phí cho kho lưu trữ riêng tư.

2

Tôi khuyên bạn nên sử dụng vị trí lưu trữ trung tâm mà bạn có thể đẩy và kéo từ thông qua ssh. Điều này sẽ ngăn chặn các vấn đề nêu trên được gây ra bằng cách đẩy đến một repo ai đó đang làm việc tại

Xem liên kết này để biết cài đặt tốt:.

http://toolmantim.com/thoughts/setting_up_a_new_remote_git_repository

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