Masalah: Saya ingin cara menghapus semua cabang lokal yang saya miliki yang tidak memiliki remote. Cukup mudah untuk menyalurkan nama-nama cabang menjadi a git branch -D {branch_name}
, tetapi bagaimana cara mendapatkan daftar itu?
Sebagai contoh:
Saya membuat cabang baru tanpa remote:
$ git co -b no_upstream
Saya mendaftar semua cabang saya, dan hanya ada satu dengan remote
$ git branch -a
master
* no_upstream
remotes/origin/HEAD -> origin/master
remotes/origin/master
Perintah apa yang bisa saya jalankan untuk mendapatkan no_upstream
jawaban?
Saya dapat menjalankan git rev-parse --abbrev-ref --symbolic-full-name @{u}
dan itu akan menunjukkan bahwa tidak ada remote:
$ 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>...]'
Tetapi karena ini adalah kesalahan, itu tidak akan membiarkan saya menggunakannya atau menyalurkannya ke perintah lain. Saya bermaksud untuk menggunakan ini baik sebagai skrip shell alias untuk git-delete-unbranched
atau mungkin membuat Permata yang sangat sederhanagit-branch-delete-orphans