前提として
- リモートからcloneしたリポジトリ
- リモートから取得したbranchで作業中
- ローカルで開発を進めてcommitを続けているが、リモートにpushはしたくない
- 「未pushがN件ある、pushしなさい」という通知の数字表示が煩わしいだけで、commit済みの作業内容を捨てたいわけではない
…という認識でよいでしょうか?
gitで破棄(discard)というと、「commit前の変更内容を捨てて、commit済みの内容に戻す」みたいな使い方が一般的で、
なんとなくタイトルだけ見て作業branchごと捨てたいみたいな話かな~と思ってしまいました。
(それともそうではなく、本当にcommit済みの内容を破棄したいんでしょうか?)
もし前提の通りであるならば、『ローカルで作業用branchを作ってリモートにpushしないまま個人で使う』のようなやり方が良いと思われます。
上流branchと紐づいているbranchでcommitを進めるのは、普通はそのままpushを前提とした作業です(なので、未push件数の通知が出続ける現状のUI側は本来問題にはならないです)。
一時的な試行錯誤でも正式な機能追加でも元のbranchに直接pushをしたくない場合は、新規に作業用branchを派生させて個人だけで使用します。
最終的に元branchに反映させたくなった場合は、ローカルでmergeやrebaseしてからpushしてもよし、リモート側でプルリクエストみたいな仕組みで反映させてもよし。
もしくは結果的に要らなくなったら、作業用branchごと捨ててもよし、別にそのまま放置してもよし。
……なので、新規branchがデメリットに繋がるようなことは特に無く、メリットだけを享受できます。
※SourceTree 使ってないので、もし「それだとリモート紐付けのないbranchについてとか別の通知が出てうざいのは一緒」とか「そもそもリモート追加してなくても通知が出て略」みたいな状態で的外れな意見だったらすみません