ある時点で、_git fetch Origin --Prune
_は、サーバー上に存在しなくなったローカルブランチを削除すると考えました。どういうわけか、これは現時点では私の経験ではありません。
このコマンドを実行しましたが、ローカルブランチは削除されませんでした。 not現在チェックアウトされています。この情報を確認するために_git branch -vv
_を実行しましたが、
_feature/MyGreatFeature f30efc7 [Origin/feature/MyGreatFeature: gone]
_
だから、それがなくなったことを知っているようです。ローカルブランチを削除しないのはなぜですか?
git version 2.7.4 (Apple Git-66)
を実行しています
さまざまなプルーンオプション(git remote update --Prune
、git remote Prune
、git fetch --Prune
)のみリモート追跡ブランチを削除します。1
不要になったローカルブランチを手動で削除するか、リモートトラッキングブランチが存在しない場合はアップストリーム設定を変更または削除する必要があります。各ローカルブランチは、現在存在しない、または存在しなかったリモートおよび/またはブランチを記録できることに注意してください。この場合、Gitはバージョン1.8.5以降、いくつかのコマンドがアップストリームを「なくなった」または無効であると報告し、--unset-upstream
。
1より正確には、コマンドラインからrefspecマッピングを実行した後、または構成からfetch
行を実行した後に、宛先refを削除します。したがって、フェッチミラーの場合、ローカルブランチを削除しますcan。ただし、ほとんどのクローンはフェッチミラーとして設定されていません。
複雑なマッピングのバグ修正がいくつか行われ、Gitがマップされたブランチをプルーニングしないようになっている場合があります。通常のリポジトリ(通常のクローンまたは純粋なフェッチミラー)では、これらの修正は効果がありません。複雑なfetch
構成がある場合にのみ重要です。