2013-08-03 27 views
132

--set-upstream làm gì? Tôi đã cố gắng để hiểu nó bằng cách đọc manual, nhưng tôi đã không hoàn toàn nhận được nó.'--set-upstream' làm gì?

Ai đó có thể giải thích?

+2

Có một tùy chọn mới ' --set-upstream-to' đã được giới thiệu vì những nhầm lẫn (IIRC) trên thiết lập-upstream. –

Trả lời

155

git branch --set-upstream <remote-branch>
đặt chi nhánh từ xa mặc định cho nhánh địa phương hiện tại.

Bất kỳ tương lai git pull lệnh (với các chi nhánh địa phương check-out hiện hành),
sẽ cố gắng mang lại cam kết từ <remote-branch> vào chi nhánh địa phương hiện nay.


Một cách để tránh việc phải làm một cách rõ ràng --set-upstream
để sử dụng cờ viết tắt -u cùng-với git push đầu tiên như sau

git push -u origin local-branch

này thiết lập sự liên kết thượng nguồn cho bất kỳ các nỗ lực đẩy/kéo trong tương lai tự động.
Để biết thêm chi tiết, hãy kiểm tra số detailed explanation about upstream branches and tracking này.


Để tránh nhầm lẫn, các phiên bản gần đây của git không dùng hơi mơ hồ --set-upstream tùy chọn này trong lợi của một --set-upstream-to tùy chọn tiết hơn với cú pháp và hành vi giống hệt

git branch --set-upstream-to <remote-branch> 
+0

+1. Xem thêm http://stackoverflow.com/q/17096311/6309 – VonC

+3

Cờ --set-upstream không còn được dùng nữa và sẽ bị xóa. Xem xét sử dụng --track hoặc --set-upstream-to –

+0

trong lệnh này 'git push -u origin local-branch' nội dung' origin' đại diện cho cái gì? Có trường hợp nào tôi sẽ gõ bất cứ thứ gì khác ngoài 'origin' sau' -u'? –

19

Khi bạn đẩy đến điều khiển từ xa và bạn sử dụng cờ --set-upstream git đặt chi nhánh bạn đang đẩy làm nhánh theo dõi từ xa của chi nhánh bạn đang đẩy.

Thêm chi nhánh theo dõi từ xa nghĩa là git sau đó biết bạn muốn làm gì khi bạn git fetch, git pull hoặc git push trong tương lai. Nó giả định rằng bạn muốn giữ nhánh địa phương và nhánh từ xa nó đang theo dõi đồng bộ và thực hiện điều thích hợp để đạt được điều này.

Bạn có thể đạt được điều tương tự với git branch --set-upstream hoặc git checkout --track. Xem các trang trợ giúp git trên tracking branches để biết thêm thông tin.