SourceTreeを使用しているときに、リモートブランチを削除してからPullを行うと、エラーが出ることがありますが、SourceTreeのローカル上にリモートブランチの追跡情報をキャッシュしていて、Pullを行う際に追跡しているリモートブランチが無いことが原因です。
そこで、SourceTreeではフェッチのオプションに、リモートで消えた追跡ブランチを消去というチェックボックスがあり(以後、Pruneと呼ぶ)、これにチェックを入れたうえでフェッチを行うと、削除したブランチの追跡が消去されます。
ただ、Pullする前に毎回これを行うのは面倒くさいので、Pull時に一緒にPruneを行うようにオプションを書き換える方法を記載します。
SourceTreeの右上にある、ターミナルアイコンをクリックします。
すると、ターミナル画面が表示されます。
以下のコマンドを入力して実行することで、SourceTreeでPullを行う際、リポジトリに関係なくPruneを行うようになります。
git config --global fetch.prune true
現在開いているリポジトリ単体にのみ適用したい場合は、globalをlocalに書き換えて実行します。
git config --local fetch.prune true
オフにするには上記のコマンドのtrueをfalseに置き換えて実行するだけです。
コメント