Thiết lập nguồn gốc từ xa git


180

Tôi có các repos sau.

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

Tôi đã sử dụng git remote add origin /Users/me/sites/main_repođể đặt repo MAIN làm nguồn gốc cho repo 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 để đặt repo MAIN làm gốc cho repo SẢN XUẤT không? Nếu "có", thì tôi cho rằng cú pháp sẽ bao gồm một địa chỉ IP. Nó sẽ trông như thế nào?


Không phải bạn muốn nói "đặt repo SẢN XUẤT làm nguồn gốc cho repo CHÍNH" sao?
Pedro A

Câu trả lời:


289

Sử dụng SSH

git remote add origin ssh://login@IP/path/to/repository

Sử dụng HTTP

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

Tuy nhiên, việc đơn giản git pulllà một quy trình triển khai thường là một ý tưởng tồi và nên tránh để có lợi cho một kịch bản triển khai thực sự.


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 bây giờ cho các ví dụ 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") hơn là chỉ git pulllàm những gì . 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ộ đệm, 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 có sự cố, tối ưu hóa / tối thiểu hóa tài sản của bạn (ví dụ CSS và J) nhiều thứ.
Clement Herreman

33
@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à một "ý tưởng tồi" vì đây 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ả hoàn hảo khi tôi có một kịch bản đơn giản.
Brady Holt

4
Tôi nghĩ bạn cần chỉ định ssh: // cho cách ssh, tức là git remote add origin ssh: // login @ IP / path / to / repository
kakyo

4
Tôi nghĩ rằng nếu chúng tôi sửa đổi tuyên bố cuối cùng thành "đôi khi là một ý tưởng tồi" thì không táo bạo đây sẽ là một câu trả lời xuất sắc.
Chris Moschini

104

Đố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 sang một vị trí khác, bạn có thể tìm 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."

Tóm lại: git remote set-url origin https://github.com/username/repo

(Câu trả lời được đánh dấu là chính xác, tôi chỉ hy vọng giúp được bất cứ ai bị mất như tôi ... haha)


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

17

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

git remote add --track master origin user@somesite.com:group/project.git   # git
git remote add --track master origin user@172.16.1.100: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 giúp bạn không phải chỉnh sửa thủ công cấu hình git của mình hoặc chỉ định theo dõi chi nhánh theo cách thủ công.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.