問題: リモートを持たないすべてのローカル ブランチを削除する方法が必要です。ブランチの名前を にパイプするのは簡単git branch -D {branch_name}
ですが、そもそもそのリストを取得するにはどうすればよいでしょうか?
例えば:
リモートなしで新しいブランチを作成します。
$ git co -b no_upstream
すべてのブランチを一覧表示しましたが、リモートがあるのは 1 つだけです
$ git branch -a
master
* no_upstream
remotes/origin/HEAD -> origin/master
remotes/origin/master
no_upstream
回答を得るために実行できるコマンドは何ですか?
実行するgit rev-parse --abbrev-ref --symbolic-full-name @{u}
と、リモートがないことが示されます。
$ 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>...]'
しかし、これはエラーであるため、使用したり、他のコマンドにパイプしたりすることはできません。これをシェルスクリプトのエイリアスとして使用するか、次のgit-delete-unbranched
ような非常に単純なGemを作成するつもりですgit-branch-delete-orphans