1. ホーム
  2. git

[解決済み] git gui実行時に "Loose Object "ポップアップをスキップする方法

2022-06-04 02:15:05

質問

git gui'を実行すると、次のようなポップアップが表示されます。

このリポジトリには、現在約1500のルースオブジェクトがあります。

そして、データベースを圧縮することを提案します。 私は以前これを行い、ルースオブジェクトを約 250 に減らしましたが、ポップアップを抑制することはできませんでした。 もう一度圧縮しても、ルーズ オブジェクトの数は変わりません。

私たちの現在のワークフローでは、Perforce からの移行中であり、Perforce がまだ標準的な SCM であるため、「リベース」を大幅に使用する必要があります。 一旦 Git が標準的な SCM になれば、私たちは定期的にマージを行い、ルース オブジェクトの問題は大幅に軽減されるはずです。

その間に、私はこの「役に立つ」ポップアップをぜひとも消したいと思っています。

どのように解決するのですか?

まだ誰も回答していないので、私はそのダイアログを表示するコードを削除する方法を見るためにコードを調べました。私は hint_gc プロシージャを見つけ、それが呼び出される場所を見つけました。それと同時に、2011年末に追加された ダイアログを無効にするための設定オプション . この変更 (git-gui 0.16.0 の一部) は、Git のメインラインにマージされました。 2011-12-14 .

そこで、Git v1.7.9 以降を使用している場合は、以下のコマンドで警告ダイアログを無効にすることができます。

git config --global gui.gcwarning false

古いバージョンを使っている場合は /lib/git-core/git-gui を削除し after 1000 hint_gc の行を削除するか、あるいは /usr/share/git-gui/lib/database.tcl の本文を削除し hint_gc プロシージャの本文を削除します。(このファイルパスはCygwinでのものです。他の環境では違う場所にある可能性があります。Windowsの場合は c:\Program Files\Git\mingw64\libexec\git-core\git-gui.tcl )