Vấn đề: Tôi muốn có một cách để xóa tất cả các nhánh cục bộ mà tôi có mà không có điều khiển từ xa. Thật dễ dàng để gộp tên các nhánh thành a git branch -D {branch_name}
, nhưng làm cách nào để lấy danh sách đó ngay từ đầu?
Ví dụ:
Tôi tạo một nhánh mới mà không có điều khiển:
$ git co -b no_upstream
Tôi liệt kê tất cả các chi nhánh của mình và chỉ có một chi nhánh có điều khiển từ xa
$ git branch -a
master
* no_upstream
remotes/origin/HEAD -> origin/master
remotes/origin/master
Tôi có thể chạy lệnh nào để nhận được no_upstream
câu trả lời?
Tôi có thể chạy git rev-parse --abbrev-ref --symbolic-full-name @{u}
và điều đó sẽ cho thấy rằng nó không có điều khiển từ xa:
$ git rev-parse --abbrev-ref --symbolic-full-name @{u}
error: No upstream configured for branch 'no_upstream'
error: No upstream configured for branch 'no_upstream'
fatal: ambiguous argument '@{u}': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
Nhưng vì đây là một lỗi, nó sẽ không cho phép tôi sử dụng nó hoặc chuyển nó sang các lệnh khác. Tôi đang có ý định sử dụng nó như một bí danh shell script git-delete-unbranched
hoặc có thể tạo ra một viên ngọc siêu đơn giản nhưgit-branch-delete-orphans