Nhờ một related question, tôi phát hiện ra rằng tôi cần phải "thanh toán" chi nhánh từ xa như một chi nhánh địa phương mới, và chỉ định một tên chi nhánh địa phương mới.
git checkout -b newlocalbranchname origin/branch-name
Hoặc bạn có thể làm:
git checkout -t origin/branch-name
Sau đó sẽ tạo ra một chi nhánh cũng được thiết lập để theo dõi các chi nhánh từ xa.
Cập nhật: Đã 5 năm kể từ khi tôi lên đâu câu hỏi này. Tôi đã học được rất nhiều và git đã được cải thiện kể từ đó. Luồng công việc thông thường của tôi bây giờ hơi khác một chút.
Nếu tôi muốn lấy chi nhánh từ xa, tôi chỉ cần chạy:
git pull
này sẽ lấy tất cả các chi nhánh từ xa và kết hợp các chi nhánh hiện hành. Nó sẽ hiển thị một kết quả trông giống như sau:
From github.com:andrewhavens/example-project
dbd07ad..4316d29 master -> origin/master
* [new branch] production -> origin/production
* [new branch] my-bugfix-branch -> origin/my-bugfix-branch
First, rewinding head to replay your work on top of it...
Fast-forwarded master to 4316d296c55ac2e13992a22161fc327944bcf5b8.
Bây giờ git biết về my-bugfix-branch
mới của tôi. Để chuyển sang chi nhánh này, tôi chỉ có thể chạy:
git checkout my-bugfix-branch
Thông thường, tôi sẽ cần phải tạo ra các chi nhánh trước khi tôi có thể kiểm tra xem nó ra, nhưng trong các phiên bản mới hơn của git, nó đủ thông minh để biết rằng bạn muốn kiểm tra một bản sao cục bộ của nhánh từ xa này.
Vâng tôi đã thử nó. Điều này dễ dàng hơn so với giải pháp của tôi. – ardsrk
Tôi đang sử dụng GIT 1.7.2.5 và lệnh làm việc cho tôi là: '' git branch --track XX origin/XX''. Lệnh của bạn cho tôi một lỗi. – dimitarvp
Nếu bạn không có tất cả các chi nhánh từ xa tải xuống, điều này có thể không thành công. Làm "git remote update" để kéo chúng xuống. –