Đầu tiên, sao chép một kho lưu trữ Git từ xa và cd vào nó:
$ git clone git://example.com/myproject
$ cd myproject
Tiếp theo, hãy xem các nhánh cục bộ trong kho lưu trữ của bạn:
$ git branch
* master
Nhưng có những nhánh khác ẩn trong kho của bạn! Bạn có thể thấy những điều này bằng cách sử dụng -a
cờ:
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
Nếu bạn chỉ muốn xem nhanh tại một chi nhánh thượng nguồn, bạn có thể kiểm tra trực tiếp:
$ git checkout origin/experimental
Nhưng nếu bạn muốn làm việc trên nhánh đó, bạn sẽ cần tạo một nhánh theo dõi cục bộ được thực hiện tự động bằng cách:
$ git checkout experimental
và bạn sẽ thấy
Branch experimental set up to track remote branch experimental from origin.
Switched to a new branch 'experimental'
Dòng cuối cùng ném một số người: "Chi nhánh mới" - hả? Điều thực sự có nghĩa là chi nhánh được lấy từ chỉ mục và được tạo cục bộ cho bạn. Dòng trước thực sự có nhiều thông tin hơn vì nó cho bạn biết rằng nhánh đang được thiết lập để theo dõi nhánh từ xa, thường có nghĩa là nhánh origin / Branch_name
Bây giờ, nếu bạn nhìn vào các chi nhánh địa phương của bạn, đây là những gì bạn sẽ thấy:
$ git branch
* experimental
master
Bạn thực sự có thể theo dõi nhiều hơn một kho lưu trữ từ xa bằng cách sử dụng git remote
.
$ git remote add win32 git://example.com/users/joe/myproject-win32-port
$ git branch -a
* master
remotes/origin/HEAD
remotes/origin/master
remotes/origin/v1.0-stable
remotes/origin/experimental
remotes/win32/master
remotes/win32/new-widgets
Tại thời điểm này, mọi thứ đang trở nên khá điên rồ, vì vậy hãy chạy gitk
để xem những gì đang diễn ra:
$ gitk --all &
git branch -a
) hiển thị cho bạn các nhánh trong điều khiển từ xa, nhưng nếu bạn cố kiểm tra bất kỳ câu nào trong số đó, bạn sẽ ở trạng thái 'Tách rời'. Câu trả lời tiếp theo (phần lớn upvote thứ hai) trả lời một câu hỏi khác (để dí dỏm: làm thế nào để kéo tất cả các nhánh và, một lần nữa, điều này chỉ hoạt động cho những người bạn đang theo dõi cục bộ). Một số ý kiến chỉ ra rằng bạn có thể phân tíchgit branch -a
kết quả bằng một tập lệnh shell sẽ theo dõi cục bộ tất cả các nhánh từ xa. Tóm tắt: Không có cách riêng nào để thực hiện những gì bạn muốn và dù sao thì đó cũng không phải là một ý tưởng tuyệt vời.