Tình huống của tôi là ... ai đó làm việc trên cùng một repo đã xóa một chi nhánh khỏi repo địa phương và từ xa của mình ...
Hầu hết những người đã hỏi về loại vấn đề này trên Stack Overflow hoặc các trang web khác có vấn đề về các chi nhánh vẫn hiển thị trong danh sách chi nhánh theo dõi từ xa của họ git branch -a
ở phía dưới:
* master
develop
feature_blah
remotes/origin/master
remotes/origin/develop
remotes/origin/feature_blah
remotes/origin/random_branch_I_want_deleted
Tuy nhiên, trong tình huống của tôi, chi nhánh không nên ở đó, là địa phương:
* master
develop
feature_blah
random_branch_I_want_deleted
remotes/origin/master
remotes/origin/develop
remotes/origin/feature_blah
Khi tôi thực hiện bất kỳ thao tác nào sau đây, nó sẽ không bị xóa cục bộ:
$ git prune
Tôi cũng đã thử:
$ git remote prune origin
$ git fetch --prune
Thông tin hữu ích khác: Khi tôi kiểm tra xem git remote show origin
nó trông như thế nào:
* remote origin
Fetch URL: utilities:homeconnections_ui.git
Push URL: utilities:homeconnections_ui.git
HEAD branch: master
Remote branches:
master tracked
develop tracked
feature_blah tracked
other123 tracked
other444 tracked
other999 tracked
Local branches configured for 'git pull':
develop merges with remote develop
feature_blah merges with remote other999
master merges with remote master
random_branch_I_want_deleted merges with remote random_branch_I_want_deleted
Local refs configured for 'git push':
develop pushes to develop (local out of date)
master pushes to master (up to date)
feature_blah pushes to feature_blah(up to date)
Lưu ý rằng nó chỉ trong phần có tiêu đề Local branches configured for 'git pull':
Tại sao?
x/y
): nó đã được sửa (xem câu trả lời của tôi bên dưới )
git branch -d the_local_branch