[解決済み] git ステータスのパフォーマンスを向上させる方法
質問
NFS上のLinuxマシンに10GBのレポがあります。最初の時間
git status
は 36 分かかり、その後の
git status
は8分かかります。どうやらGitはOSに依存してファイルをキャッシュしているようです。最初の
git
のようなコマンドは
commit
,
status
というように、レポ全体をパック/リパックする必要があるため、巨大なレポでは非常に長い時間がかかってしまいます。このため
git status
を使用したことがあるかどうかは分かりませんが、この問題に遭遇した人はいますか?
私が試したのは
git gc
,
git clean
,
git repack
のようになりますが、かかる時間はまだ/ほぼ同じです。
サブモジュールや、レポをより小さなものに分割するような他のコンセプトは役に立ちますか?もしそうなら、より大きなレポを分割するのに最も適しているのはどれでしょうか。大規模なレポでの git コマンドにかかる時間を改善する他の方法はありますか?
どのように解決するのですか?
より正確に言うと、gitは効率に依存しているため
lstat(2)
システムコールの効率に依存しているので、クライアントの
"属性キャッシュのタイムアウト"
を調整することで、うまくいくかもしれません。
のマニュアルは
git-update-index
- のマニュアルモードは、基本的に
git-status
- によって、これを緩和するためにできることを記述しています。
を使うことで
--assume-unchanged
フラグ
を使用すると、通常の動作を抑制し、変更したパスを手動で更新することができます。ファイルを保存するたびにこのフラグを解除するようにエディターをプログラムすることもできます。
あなたが提案したように、代替案はチェックアウトのサイズを小さくすることです (パックファイルのサイズはここでは本当に重要ではありません)。選択肢としては、疎なチェックアウト、サブモジュール、または Google の レポ ツールです。
(メーリングリスト でのGitの使用に関するスレッドがあります。 がありますが、多くの質問には答えていません)。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Git のステータスが完了するまでに長い時間がかかる
-
[解決済み】Git diffでサブプロジェクトがダーティだと言われる
-
[解決済み] ファイルキャッシュをクリアしてパフォーマンステストを繰り返す
-
[解決済み] OFFSET / FETCH NEXTからの総行数取得
-
[解決済み] translateZ(0)に対するCSSのパフォーマンス
-
[解決済み] ループのアンロールが役に立つとしたら、どんなときか?
-
[解決済み] Rでdata.frameをマージ/ジョインする最速の方法は何ですか?
-
[解決済み] 開発者は読みやすさとパフォーマンスのどちらを優先させるべきか?[クローズド]
-
[解決済み] S3での1ディレクトリあたりの最大ファイル数
-
[解決済み] レジスターが猛烈に速いなら、なぜもっとたくさんないのか?