誤っていくつかのリモートブランチをプルーニングしましたが、その結果が本当にわかりません(Git Extensionsの[リモートブランチのプルーニング]ボタンをクリックして、リモートブランチが削除されると考えました)。
公式ドキュメントには、「git-Prune-オブジェクトデータベースから到達不能なオブジェクトをすべて削除する」と書かれています。私はこれが何を意味するのか本当に理解していません。私はこれがマージされたブランチを削除したかもしれないと推測していますが、私は本当に確信がありません。
Git Extensionsの「リモートブランチのプルーニング」はgit remote Prune
コマンドを実行し、リモートにブランチが存在しないローカルリモートトラッキングブランチを削除します。
こちらをご覧ください: https://git-scm.com/docs/git-remote#git-remote-empruneem
これは、ブランチをガベージコレクションするだけです。
つまり、ブランチの祖先のいずれかでオブジェクト(コミット)に到達できない場合、そのデータベースはgitデータベースから削除されるため、それ以上到達できません。
これにより、Gitリポジトリが少しクリーンアップされ、軽量化されます。
プルーンはレポバインドされているであることを知っておくことが重要です。ローカルリポジトリを複数のリモートにリンクできることを誰もが知っているわけではありません。たとえば、オープンソースプロジェクトで作業し、フォーク経由で作業するように強制されている場合に便利です。
そのため、Pruneコマンドにはリポジトリ名が必要です。ほとんどの場合、git remote Prune Origin
ですが、リポジトリを呼び出すことができます。Origin
である必要はありません。
マスターにマージした後に削除されるリモート機能ブランチが存在する場合があります。クリーンアップの方法として機能ブランチを削除した可能性があります。ただし、削除されたブランチをローカルシステムにチェックアウトし、ステータスをトラッキングとして設定した場合、git pullはそれらのローカルブランチを削除しません(これらは既にサーバーから切断されているため)。そのようなローカルの孤立ブランチをクリーンアップするには、git Prune
コマンドが役立ちます。