回答:
リモートブランチのローカルリストを更新するには:
git remote update origin --prune
(ローカル)Gitが認識しているすべてのローカルブランチとリモートブランチを表示するには
git branch -a
git remote update origin --prune私が探していたものです
git fetchリモートブランチのローカルキャッシュを削除しませんでした。のみ、--pruneそれをすべてクリーンアップすることができました。
git config remote.origin.prune true
git remote prune origin同じ効果があり、タイプを少なくします。
git branch --allBashから実行した場合、表示されるリモートブランチとローカルブランチのリストには、コマンドを実行したときにローカルGitが「知っている」ことが反映されていると思います。Gitはシステムのローカルブランチに関して常に最新であるため、ローカルブランチのリストは常に正確です。
ただし、リモートブランチの場合、これは当てはまる必要はありません。ローカルGitは、最後のフェッチ(またはプル)で確認したリモートブランチのみを認識します。したがって、最後にフェッチまたはプルした後に実行された新しいリモートブランチが表示されない可能性がgit branch --allあります。
ローカルおよびリモートのブランチリストが最新であることを確認するには、実行するgit fetch 前にを実行しgit branch --allます。
詳細については、実行時に表示される「リモート」ブランチgit branch --allは実際にはまったくリモートではありません。彼らは実際にはローカルです。たとえば、リモートに呼び出されたブランチがあるとしますfeatureローカルGitに少なくとも1回プルしたします。あなたは、表示されますorigin/feature、あなたが実行したときにブランチとして記載されていますgit branch --all。しかし、このブランチは実際にはローカルの Gitブランチです。実行するとgit fetch origin、この追跡ブランチはリモートからの新しい変更で更新されます。新しいリモートブランチが存在する可能性があるため、ローカルの状態が古くなる可能性があるのはこのためです。または、トラッキングブランチが古くなる可能性があります。
git fetchやった。
git fetch私にはうまくいきません、追加する必要があり--pruneます。ところで、私はdownvoterないよ;)
git fetch削除されたリモートブランチは削除されません。一部の人々はdownvoted理由は、おそらくです
OPは、デフォルトのリモートのすべてのブランチではなく、すべてのリモートのクリーンアップを要求しませんでした。
そう git fetch --prune何を使うべきかです。
設定git config remote.origin.prune trueは--prune自動になります。その場合git fetch、ローカルコピーから古いリモートブランチも削除されます。Gitフェッチまたはプルを使用した自動プルーンも参照してください。
これは、リモートブランチを追跡しなくなったローカルブランチをクリーンアップしないことに注意してください。そのため、リモートに存在しないローカル追跡ブランチを削除する方法を参照してください。
git fetch -p
git fetch最近作成されたすべてのブランチをフェッチするために使用します。
git fetchgit 2.17.1では、何も変更されませんでした。どのバージョンとオプションを使用していますか?
--pruneまたはgit config remote.NAME.prune trueこれが必要です
Eclipseを使用している場合、
それらはすべてそこにあるはずです。右クリックして「チェックアウト」します。
git ls-remoteここでは興味深いかもしれません。