Menu
CoddyTech

Git: đặt nhánh upstream

Cập nhật lần cuối

Upstream của một nhánh là nhánh remote mà nó theo dõi. Khi đã đặt, chỉ cần git push và git pull là Git biết gửi và lấy commit ở đâu, bạn không phải ghi tên remote và nhánh mỗi lần. Thường bạn đặt upstream ở lần push đầu tiên với -u, hoặc đặt sau bằng git branch --set-upstream-to.

Bạn có thể thử các lệnh này trong terminal playground: một shell thật ngay trên trình duyệt, không cần cài đặt gì.

Đặt upstream sẽ liên kết nhánh cục bộ với nhánh tương ứng trên remote, nên git push và git pull không kèm tham số biết phải đi đâu.

Cú pháp

LệnhTác dụng
git push -u origin featurePush và đặt upstream trong một bước
git branch --set-upstream-to=origin/featureĐặt upstream cho nhánh hiện tại
git branch -u origin/feature featureĐặt upstream cho một nhánh theo tên
git branch -vvHiện từng nhánh cùng upstream của nó

Tình huống thường gặp

Mục tiêuLệnh
Đặt upstream ở lần push đầugit push -u origin feature
Đặt upstream cho nhánh đã cógit branch --set-upstream-to=origin/feature
Kiểm tra upstream đang được đặtgit branch -vv

Câu hỏi thường gặp về đặt upstream trong Git

Đặt nhánh upstream có tác dụng gì?
Nó liên kết nhánh cục bộ với một nhánh remote cụ thể. Sau đó, git push và git pull trên nhánh này biết dùng remote và nhánh nào, nên bạn chạy được mà không cần đối số. Git cũng cho biết bạn đang đi trước hay đi sau upstream bao nhiêu commit trong git status.
Làm sao đặt nhánh upstream?
Cách dễ nhất là đặt ở lần push đầu tiên: git push -u origin <branch> vừa push vừa đặt upstream. Với nhánh đã có trên remote, dùng git branch --set-upstream-to=origin/<branch> khi đang ở nhánh đó.
Làm sao xem upstream của một nhánh?
Chạy git branch -vv. Lệnh này liệt kê các nhánh cục bộ, mỗi nhánh kèm upstream của nó (như [origin/feature]) và cho biết đang đi trước hay đi sau. Nhánh không có upstream thì không hiện gì trong ngoặc vuông.
Vì sao git push đòi đặt upstream?
Vì nhánh hiện tại chưa được cấu hình upstream, nên Git không biết push đi đâu. Chạy git push -u origin <branch> một lần để đặt; những lần push sau chỉ cần git push.
Có thể luyện tập lệnh này online không?

Có. Mở terminal playground để chạy các lệnh này trong một shell thật ngay trên trình duyệt, không cần cài đặt gì. Khóa học Git tương tác miễn phí của Coddy cũng hướng dẫn từng bước cách làm việc với remote.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học Git cùng Coddy

Bắt đầu