2011-08-31 44 views
152

Tôi có các bản repos sau đây.Thiết lập nguồn gốc từ xa git

  1. DEV REPO: trong một thư mục trên máy tính phát triển của tôi, nơi tôi có thay đổi
  2. REPO CHÍNH: kho trần trên máy phát triển của tôi mà tôi đẩy những thay đổi từ dev repo
  3. SẢN XUẤT REPO: kho lưu trữ trên máy chủ để lấy thông tin cập nhật từ repo chính

Tôi đã sử dụng git remote add origin /Users/me/sites/main_repo để đặt repo CHÍNH làm nguồn gốc cho bản ghi nhớ DEV. Repo SẢN XUẤT là trên một máy chủ từ xa. Tôi có thể sử dụng một biến thể của cùng một lệnh để thiết lập repo CHÍNH làm nguồn gốc cho repo SẢN XUẤT không? Nếu "có", thì tôi giả sử cú pháp sẽ bao gồm địa chỉ ip. Nó sẽ trông như thế nào?

Trả lời

238

Sử dụng SSH

git remote add origin ssh://[email protected]/path/to/repository 

Sử dụng HTTP

git remote add origin http://IP/path/to/repository 

Tuy nhiên có một cách đơn giản git pull như một quá trình triển khai thường là xấu ý tưởngvà nên tránh trong lợi của một kịch bản triển khai thực.

+6

Tại sao nó là một ý tưởng thực sự xấu? Thực hiện một số tìm kiếm ngay bây giờ cho các ví dụ về kịch bản triển khai. – Jay

+14

Bởi vì việc triển khai thường có nghĩa là (đọc "luôn luôn") nhiều hơn những gì 'git pull' làm. Bạn có thể cần phải thiết lập thông tin đăng nhập DB sản xuất, xóa bộ nhớ cache, tăng số phiên bản, sao lưu phiên bản cũ hơn để bạn có thể quay lại nếu mọi thứ xảy ra sai, tối ưu hóa/giảm thiểu tài sản của bạn (ví dụ: CSS và Js) và một số khác nhiều thứ. –

+32

@ClementHerreman - có vẻ như, dựa trên lời giải thích của bạn, sử dụng git pull không phải là quá nhiều "ý tưởng tồi" vì nó là một giải pháp hạn chế. Đôi khi tôi thấy git pull là một giải pháp triển khai đơn giản, hiệu quả và hoàn hảo khi tôi có một kịch bản đơn giản. – Brady

12

Bạn có thể bao gồm các chi nhánh để theo dõi khi thiết lập điều khiển từ xa, để giữ cho mọi thứ làm việc như bạn mong đợi:

git remote add --track master origin [email protected]:group/project.git # git 
git remote add --track master origin [email protected]:group/project.git # git w/IP 
git remote add --track master origin http://github.com/group/project.git # http 
git remote add --track master origin http://172.16.1.100/group/project.git # http w/IP 
git remote add --track master origin /Volumes/Git/group/project/   # local 
git remote add --track master origin G:/group/project/      # local, Win 

Điều này sẽ giúp bạn khỏi phải tự chỉnh sửa cấu hình git của bạn hoặc chỉ định theo dõi bằng tay chi nhánh.

76

Đối với bất kỳ ai đến đây, như tôi đã làm, tìm kiếm cú pháp để thay đổi nguồn gốc ở một vị trí khác bạn có thể tìm thấy tài liệu đó tại đây: https://help.github.com/articles/changing-a-remote-s-url/. Sử dụng git remote add để làm điều này sẽ dẫn đến "gây tử vong: nguồn gốc từ xa đã tồn tại".

Nutshell: git remote set-url origin https://github.com/username/repo

(Câu trả lời rõ rệt là chính xác, tôi chỉ hy vọng có thể giúp bất cứ ai khi bị mất như tôi đã ... haha)

+0

Câu trả lời này là tốt hơn cho những người muốn thay đổi "git remote url" nếu nó đã tồn tại. Cảm ơn @lostphilosopher – eonist

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