'--Set-upflow' làm gì?


Câu trả lời:


411
git branch --set-upstream <remote-branch>

đặt nhánh từ xa mặc định cho nhánh cục bộ hiện tại.

Bất kỳ git pulllệnh nào trong tương lai (với kiểm tra chi nhánh địa phương hiện tại),
sẽ cố gắng đưa các cam kết từ <remote-branch>vào chi nhánh địa phương hiện tại.


Một cách để tránh phải gõ một cách rõ ràng --set-upstreamlà sử dụng cờ tốc ký của nó -unhư sau:

git push -u origin local-branch

Điều này đặt liên kết ngược dòng cho bất kỳ nỗ lực đẩy / kéo nào trong tương lai.
Để biết thêm chi tiết, hãy xem phần giải thích chi tiết này về các nhánh ngược dòng và theo dõi .


Để tránh nhầm lẫn, các phiên bản gần đây gitkhông dùng --set-upstreamtùy chọn hơi mơ hồ này để ủng hộ --set-upstream-totùy chọn dài dòng hơn với cú pháp và hành vi giống hệt nhau

git branch --set-upstream-to <origin/remote-branch>

7
Cờ --set-upflow bị phản đối và sẽ bị xóa. Cân nhắc sử dụng --track hoặc --set-upflow-to
Rohit Singh Sengar

1
trong lệnh này git push -u origin local-branchnhững gì originđại diện? Có trường hợp nào tôi sẽ gõ bất cứ điều gì khác ngoài originsau -u?
John Henckel

2
@JohnHenckel originđề cập đến kho git từ xa đã được sử dụng để sao chép từ đó. Có thể có nhiều kho git từ xa . Trong trường hợp như vậy, origincó thể được thay thế bằng tên thích hợp của điều khiển từ xa mong muốn mà người ta muốn đề cập đến.
TheCodeArtist

làm một git remote -vđể tìm điều khiển từ xa của bạn, originthường là mặc định
xploreraj

39

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

Thêm một theo dõi từ xa phương tiện chi nhánh git sau đó biết những gì bạn muốn làm gì khi bạn git fetch, git pullhoặc git pushtrong tương lai. Nó giả định rằng bạn muốn giữ chi nhánh địa phương và chi nhánh từ xa mà 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-tohoặc git checkout --track. Xem các trang trợ giúp git trên các nhánh theo dõi để biết thêm thông tin.


Khi tôi thanh toán với -t, nó sẽ đặt ngược dòng để đẩy, chỉ để kéo.
Jim

8

git branch --set-upstream <<origin/branch>> chính thức không được hỗ trợ nữa và được thay thế bởi git branch --set-upstream-to <<origin/branch>>

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.