web-dev-qa-db-ja.com

TortoiseGitにまだリストされている削除されたリモートブランチ

TortoiseGitには、マスターにマージされた後にリモートブランチの多くが削除されたにもかかわらず、ローカルブランチとリモートの両方のドロップダウンに、これまでに作成したすべての機能ブランチが含まれているように見えることに気付きました。

TortoiseGitに、リストされているブランチを実際に存在するブランチと同期させる方法はありますか?

そして、わずかな正接... Git自体に関しては、リモートから完全に分離されていると見なされるブランチのローカルバージョンですか?つまり、リモートバージョンを削除する理由はありませんshould自動的にローカルバージョンが削除されることを意味しますか?

28
Mr. Boy

issue 1139 で述べたように、Fetch with Pruneを実行できます。
または、プルのリストからリモートブランチを削除します 問題2765

これにより、ローカルで参照されているリモートブランチがクリーンアップされますが、それらは アップストリームリポジトリ ですでに削除されています。

http://wiki.typo3.org/wiki/images/1/18/Tortoisegit_fetch.gif

git自体に関しては、リモートから完全に切り離されていると見なされるブランチのローカルバージョンですか?

かもね。
ブランチにリモートトラッキングブランチが関連付けられている場合、 git branch -vvそれを表示できます

ただし、上記のリモート追跡ブランチを削除しても、ローカルブランチとは関係ありません。

つまり、リモートバージョンを削除すると、ローカルバージョンが自動的に削除されることを意味する理由はありませんか?

確かに:誤って 'test'ブランチをプッシュしました:

  • リモートリポジトリで削除したい
  • しかし、プッシュするつもりのないいくつかのローカルテストを実行するために、ローカルリポジトリにそれを保持したいと考えています。
28
VonC

最後の質問ですが、それは「配布」の側面だと思います。ローカルリポジトリとリモートリポジトリはコンテンツを相互に共有できますが、それらは独立して存在します。

実際には、この設計によりトラブルを防ぐことができます。 fetchが「リモートリポジトリのローカルブランチ」から「ローカルリポジトリのリモートブランチ」への変更を完全に反映し、誰かがリモートリポジトリのブランチを削除した場合、コミットのローカルポインタが1つ失われます(おそらく最後のポインタ) )。

1
Jokester

リストされているブランチを実際に存在するブランチに同期するTortoiseGitは機能リクエストです。

少なくとも、Shift + Deleteを使用して、不要なアイテムを削除できます。

リモートブランチドロップリストのアイテムはTortoiseGitによってキャッシュされます。最大サイズは25です。

次回プルするときは、提案リストに現在のブランチの名前のみが含まれます。

0
coz