Trong kho git, một nhánh từ xa tôi không theo dõi đã bị xóa. Khi tôi gõ
git branch -r
nhánh bị xóa vẫn xuất hiện (và tôi có thể kiểm tra nó)
Tôi phải chạy lệnh git nào để cập nhật thông tin này?
Trong kho git, một nhánh từ xa tôi không theo dõi đã bị xóa. Khi tôi gõ
git branch -r
nhánh bị xóa vẫn xuất hiện (và tôi có thể kiểm tra nó)
Tôi phải chạy lệnh git nào để cập nhật thông tin này?
Câu trả lời:
Nếu bạn thực hiện một cái gì đó như
git branch -d -r remote_name/branch_name
bạn chỉ loại bỏ kiểm tra địa phương của bạn. Lệnh này không làm gì với kho lưu trữ từ xa, đó là lý do tại sao nó vẫn hiển thị.
Giải pháp:
git push origin :branch_name
sẽ xóa nhánh từ xa (lưu ý ':') và
git branch -d branch_name
sẽ loại bỏ kiểm tra địa phương của bạn.
( Tham khảo )
git push <remote> --delete <branchname>
để xóa các nhánh từ xa.
Nếu đó là các nhánh trong kho lưu trữ từ xa đã bị xóa và bạn muốn cập nhật tất cả các nhánh theo dõi từ xa cục bộ cùng một lúc, bạn có thể sử dụng
$ git remote prune <remotename>
để xóa tất cả các nhánh theo dõi từ xa cũ cho một điều khiển từ xa nhất định (tức là các nhánh theo các nhánh đã bị xóa trong kho lưu trữ từ xa).
Xem git remote
tài liệu.
git fetch
?
git gc
chỉ đóng gói các đối tượng và refs, và xóa các đối tượng không được ước tính trong khi ở đó (với một số giới hạn an toàn).
git remote update --prune
Nên làm mới tất cả các nhánh từ xa, thêm các nhánh mới và xóa các nhánh bị loại bỏ.
Chỉnh sửa: Lệnh cập nhật từ xa về cơ bản tìm nạp danh sách các nhánh trên điều khiển từ xa. Các --prune
tùy chọn sẽ thoát khỏi bạn địa phương , ngành theo dõi từ xa mà điểm đến chi nhánh đó không tồn tại lâu hơn trên xa .
Cũng hữu ích để xem các chi nhánh từ xa mới:
git fetch --all
Bạn có thể kết hợp các cờ -r
và -d
để xóa các nhánh từ xa.
Hãy thử lệnh này
git gc --prune=now