2011-01-14 29 views
11

Tôi có thể làm "git remote add origin x @ x: ~/blah" và "git push" sẽ hoạt động. Nhưng nếu tôi tạo một bản sao cục bộ "git clone ~/blah" bên trong/var - sau đó "git remote add local/var/blah" bên trong ~/blah, khi tôi thử "git push", nó không đẩy cập nhật.Làm thế nào tôi có thể có nó đến nơi "git push" đẩy tới kho lưu trữ cục bộ?

Làm cách nào để tôi có thể thực hiện cập nhật git cho bản sao cục bộ?

Tôi có một thư viện được chia sẻ mà tôi sử dụng trong một loạt các dự án. Tôi sử dụng "git clone" bên trong các thư mục khác để lấy một bản sao cục bộ của thư viện. Khi tôi cập nhật thư viện chính, tôi phải đi đến từng bản sao cục bộ và gõ "git pull" để nhận các bản cập nhật? Làm thế nào tôi có thể nói "git push" để đẩy mã vào tất cả các thư viện?

Trả lời

17

Theo mặc định, git push đẩy tới nguồn gốc. Nếu bạn muốn đẩy đến một kho lưu trữ từ xa khác (trên cùng một máy hoặc bằng cách khác), bạn cần phải thực hiện git push <remote-name>. Ngoài ra hãy nhớ những gì mipadi nói về kho không trần.

Vì vậy, trong trường hợp của bạn, sau git remote add local /var/blah, bạn sẽ làm git push local để đẩy các thay đổi cho repo trong/var/blah.

Một chút google-fu đã đưa ra bài này để đẩy đến nhiều kho từ xa cùng một lúc:

http://web.archive.org/web/20110828185858/http://jeetworks.com/node/22

Về cơ bản, một điều khiển từ xa có thể có nhiều url. Để thực hiện điều chỉnh sửa này .git bạn/config và đặt một cái gì đó như thế này:

[remote "all"] 
    url = /some/path/to/repo1 
    url = /some/path/to/repo2 

Sau đó, bạn có thể làm git push all để đẩy để cả hai url từ xa được trỏ đến bởi điều khiển từ xa "tất cả".

4

Bạn đang đẩy đến kho lưu trữ không phải là không? Nếu bạn đang có, bản thân repo sẽ được cập nhật, nhưng các tệp đã kiểm xuất (trên đĩa) sẽ không được cập nhật.

+0

Tôi có một thư viện được chia sẻ mà tôi sử dụng trong một loạt các dự án. Tôi sử dụng "git clone" bên trong các thư mục khác để lấy một bản sao cục bộ của thư viện. Khi tôi cập nhật thư viện chính, tôi phải đi đến từng bản sao cục bộ và gõ "git pull" để nhận các bản cập nhật? Làm thế nào tôi có thể nói "git push" để đẩy mã vào tất cả các thư viện? – ForeverConfused

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