回答:
リモートブランチのローカルリストを更新するには:
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 --all
Bashから実行した場合、表示されるリモートブランチとローカルブランチのリストには、コマンドを実行したときにローカル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 fetch
git 2.17.1では、何も変更されませんでした。どのバージョンとオプションを使用していますか?
--prune
またはgit config remote.NAME.prune true
これが必要です
Eclipseを使用している場合、
それらはすべてそこにあるはずです。右クリックして「チェックアウト」します。
git ls-remote
ここでは興味深いかもしれません。