回答:
次のことを行う必要があります
git fetch -p
これにより、リモートブランチのローカルデータベースが更新されます。
origin
フォーク: git fetch -p origin
私はそれからでした git branch -r
、存在しないリモートブランチはもはや現れました。
git remote prune origin
ために、それはそれぞれgit pull --prune
、stackoverflow.com / a / 6127884/94687およびstackoverflow.com/a/17983126/94687で言及されているものと同じで類似している必要があります。
[deleted] (none) -> origin/ < branch name >
て、ブランチがまだローカルレポに表示されている理由は何ですか?
git branch
まだ削除されたと思われるブランチが表示されます。
http://www.gitguys.com/topics/adding-and-removing-remote-branches/から
誰かがリモートリポジトリからブランチを削除した後、ユーザーがgit pullまたはgit fetchを実行しても、gitはローカルリポジトリブランチを自動的に削除しません。ただし、ユーザーがリモートリポジトリで削除されたすべての追跡ブランチをローカルリポジトリから削除する場合は、次のように入力できます。
git remote prune origin
注として、からの-pパラメータはgit fetch -p
実際には「プルーン」を意味します。
どちらの方法を選択しても、存在しないリモートブランチはローカルリポジトリから削除されます。
次のことを行う必要があります
git fetch -p
ブランチリストを同期するため。gitのマニュアルは言います
-p
、--prune
フェッチした後、リモートに存在しないリモート追跡参照を削除します。デフォルトのタグの自動フォローまたは--tags
オプションのためにタグがフェッチされた場合、タグはプルーニングの対象になりません。ただし、明示的なrefspecによってタグがフェッチされた場合(コマンドラインまたはリモート構成で、たとえば、リモートが--mirror
オプションで複製された場合など)、タグもプルーニングの対象になります。
個人的git fetch origin -p --progress
には進行状況を表示するので使いたいです。
に関してはgit fetch -p
、その動作はGit 1.9で変更され、Git 2.9.x / 2.10のみがそれを反映しています。
Jeff King()によるコミット9e70233(2016年6月13日)を参照してください。(合併によりJunio C浜野- -で1c22105コミットし、2016年7月6日)をpeff
gitster
fetch
:フェッチする前にプルーニングが発生することを文書化これは10a6cc8(
fetch --prune
:フェッチする前にプルーンを実行、2014-01-02)で変更されましたが、その議論の誰もが「後」を明示的にアドバタイズしていることに気付いていないようです。
したがって、ドキュメントには次のように記載されています:
フェッチする前に、リモートに存在しないリモート追跡参照を削除します
その理由は:
frotz/nitfol
以前のフェッチからの「」という名前のリモート追跡ブランチがあり、アップストリームに「frotz
」というブランチがある場合、フェッチは「frotz/nitfol
」を含む「git fetch --prune
」をアップストリームから削除できません。gitは、ユーザーに「git remote prune
」を使用して問題を修正するよう通知します。
fetch --prune
フェッチ操作の前にプルーニング操作を移動して、「」の動作を変更します。このように、競合をユーザーに警告するのではなく、自動的に修正します。