Câu trả lời:
Để cập nhật danh sách địa phương của các chi nhánh từ xa:
git remote update origin --prune
Để hiển thị tất cả các chi nhánh địa phương và từ xa mà (địa phương) Git biết về
git branch -a
git remote update origin --prunelà những gì tôi đang tìm kiếm
git remote updatevà câu trả lời được chấp nhận, sử dụng git fetch, xem tại đây
git fetchđã không loại bỏ bộ nhớ cache cục bộ của tôi của các chi nhánh từ xa. Chỉ --prunecó thể làm sạch tất cả.
git config remote.origin.prune true
git remote prune origincó tác dụng tương tự và bạn gõ ít hơn.
Tôi tin rằng nếu bạn chạy git branch --alltừ Bash rằng danh sách các nhánh từ xa và cục bộ mà bạn nhìn thấy sẽ phản ánh những gì Git địa phương của bạn "biết" về thời điểm bạn chạy lệnh. Vì Git của bạn luôn cập nhật liên quan đến các chi nhánh địa phương trong hệ thống của bạn, nên danh sách các chi nhánh địa phương sẽ luôn chính xác.
Tuy nhiên, đối với các chi nhánh từ xa thì điều này không cần phải như vậy. Git cục bộ của bạn chỉ biết về các nhánh từ xa mà nó đã thấy trong lần tìm nạp cuối cùng (hoặc kéo). Vì vậy, có thể bạn có thể chạy git branch --allvà không thấy một nhánh từ xa mới xuất hiện sau lần cuối bạn tải hoặc kéo.
Để đảm bảo rằng danh sách chi nhánh địa phương và từ xa của bạn được cập nhật, bạn có thể thực hiện git fetch trước khi chạy git branch --all.
Để biết thêm thông tin, các nhánh "từ xa" xuất hiện khi bạn chạy hoàn toàn git branch --allkhông phải là điều khiển từ xa; họ thực sự là người địa phương. Ví dụ: giả sử có một nhánh trên điều khiển từ xa featuremà bạn đã kéo ít nhất một lần vào Git cục bộ của mình. Bạn sẽ thấy origin/featuređược liệt kê như một chi nhánh khi bạn chạy git branch --all. Nhưng chi nhánh này thực sự là một chi nhánh Git địa phương . Khi bạn làm như vậy git fetch origin, nhánh theo dõi này sẽ được cập nhật với bất kỳ thay đổi mới nào từ xa. Đây là lý do tại sao trạng thái địa phương của bạn có thể bị cũ, bởi vì có thể có các nhánh từ xa mới hoặc các nhánh theo dõi của bạn có thể trở nên cũ.
git fetchđã làm nó.
git fetchkhông làm việc cho tôi, cần thêm --prune. Btw, tôi không downvoter;)
git fetchkhông xóa các chi nhánh từ xa bị xóa. Đó có lẽ là lý do tại sao một số người bị hạ thấp
OP không yêu cầu dọn dẹp cho tất cả các điều khiển từ xa, thay vào đó là tất cả các nhánh của điều khiển từ xa mặc định.
Vì thế git fetch --prune những gì nên được sử dụng.
Thiết lập git config remote.origin.prune truelàm --prunetự động. Trong trường hợp git fetchđó, cũng sẽ cắt tỉa các nhánh từ xa từ bản sao cục bộ. Xem thêm Tự động cắt tỉa với Git lấy hoặc kéo .
Lưu ý rằng điều này không làm sạch các nhánh cục bộ không còn theo dõi một nhánh từ xa. Xem Cách cắt tỉa các nhánh theo dõi cục bộ không còn tồn tại trên remote nữa .
git fetch -p
Sử dụng git fetchđể lấy tất cả các nhánh được tạo mới nhất.
git fetchkhông thay đổi bất cứ điều gì với tôi với git 2.17.1. Phiên bản và tùy chọn nào bạn đang sử dụng?
--prunehoặc git config remote.NAME.prune trueđể giải quyết câu hỏi OP
Nếu bạn đang sử dụng Eclipse và muốn xem các nhánh mới từ thượng nguồn;
Trong phối cảnh Git, nhấp chuột phải vào kho Git và sau đó chọn "Tìm nạp từ thượng nguồn". Điều này lấy các chi nhánh từ xa mới.
Nếu bạn đang sử dụng Eclipse,
Tất cả họ nên ở trong đó. Nhấp chuột phải và "thanh toán."
git ls-remotecó thể thú vị ở đây.