Chỉ cần làm rõ (sử dụng phiên bản git 1.7.9.5 trên Ubuntu 12.04):
Git sẽ thêm / xóa điều khiển từ xa. Đây là những trường hợp từ xa của git với một máy chủ được đính kèm.
git remote add myremote git://remoteurl
Sau đó, bạn có thể tìm nạp kho git đã nói như vậy:
git fetch myremote
Có vẻ như điều này tạo ra một nhánh có tên 'myremote', tuy nhiên điều khiển từ xa cho nhánh không được đặt tự động. Để làm điều này, bạn phải làm như sau:
Đầu tiên, xác minh rằng bạn có vấn đề này, tức là
git config -l | grep myremote
Bạn sẽ thấy một cái gì đó như:
remote.myremote.url=git://remoteurl
remote.myremote.fetch=+refs/heads/*:refs/remotes/myremote/*
branch.myremote.remote=.
branch.myremote.merge=refs/heads/master
Nếu bạn thấy branch.myremote.remote=.
, sau đó bạn nên tiến hành:
git config branch.myremote.remote myremote
git checkout myremote
git pull
Bây giờ bạn sẽ được cập nhật với kho lưu trữ từ xa và các lần kéo / đẩy của bạn phải được gắn với điều khiển từ xa thích hợp. Bạn có thể chuyển từ xa theo cách này, trên mỗi chi nhánh . [Lưu ý] [1]
Theo Tài liệu cấu hình Git chính thức , bạn có thể thiết lập một nhánh đẩy mặc định (chỉ cần tìm kiếm remote.pushdefault trên trang đó), tuy nhiên hãy nhớ rằng điều này sẽ không ảnh hưởng đến kho / nhánh đã tồn tại, vì vậy điều này sẽ hoạt động nhưng chỉ cho các kho / chi nhánh mới. Bạn nên nhớ rằng --global
sẽ đặt mặc định kho lưu trữ dành riêng cho người dùng (~ / .gitconfig), --system
sẽ đặt mặc định kho lưu trữ trên toàn hệ thống (/ etc / gitconfig) và không có cờ nào sẽ đặt tùy chọn cấu hình cho kho lưu trữ hiện tại (./.gitconfig).
Cũng cần lưu ý rằng push.default tùy chọn cấu hình là để cấu hình ref-spec hành vi, không xa hành vi.
[1]: git branch --set-upstream myotherremote
thường sẽ hoạt động ở đây, tuy nhiên git sẽ phàn nàn rằng nó sẽ không đặt một nhánh làm điều khiển từ xa nếu git branch --set-upstream myremote
được sử dụng. Tôi tin tuy nhiên đây là hành vi không chính xác.