問題タブ [git-gc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
10 に答える
121538 参照

git - どのくらいの頻度で git-gc を使用する必要がありますか?

どのくらいの頻度で git-gc を使用する必要がありますか?

マニュアルページには次のように書かれています:

ユーザーは、各リポジトリ内で定期的にこのタスクを実行して、良好なディスク容量の使用率と良好な動作パフォーマンスを維持することをお勧めします。

オブジェクト数を取得して gc の時期かどうかを判断するコマンドはありますか?

0 投票する
3 に答える
1657 参照

git - クォータのあるマシンで git gc

git gc簡単な質問ですが、クォータのあるマシンで実行しようとしています。gc の前に、私は約 18 GB の使用量であり、そのほとんどすべてが私の複製された git リポジトリです。私のディスク制限は 25GB です。操作中にgit gc、制限に達するのに十分な数の一時ファイルがディスクに書き込まれるため、git gc操作が失敗します。

操作が失敗した後に削除.git/objects/pack/tmp_pack_*して 18GB の使用量に戻すことはできますが、実際に完了してパフォーマンスを少し改善したいと考えてgit gcいます。

最初に7GBを超える一時ファイルをディスクに書き込む必要のない、使用できる派手なオプション(または一連の他のgitコマンド)はありますか?

0 投票する
2 に答える
5143 参照

git - gitブランチを本当に削除する方法(つまり、すべてのオブジェクト/コミットを削除する)?

次のようなgitツリーがあります

トピックとその上のすべてのオブジェクトを削除したいと思います。

トピックの SHA ID をメモしてから、次のように入力します。

最後のコマンドの後、エラーが発生することが予想されます(「存在しないオブジェクトID ...」など)。しかし、エラーはなく、gitk は上記と同じツリー構造を示していますか??

何が欠けていますか - gc/prune は到達不能なオブジェクトをすべて削除するはずだと思いましたか?

0 投票する
5 に答える
24764 参照

git - 「gitgc」が使用するメモリの量を制限する方法はありますか?

共有ホストでgitリポジトリをホストしています。私のリポジトリには必然的にいくつかの非常に大きなファイルが含まれています。リポジトリで「gitgc」を実行しようとするたびに、メモリを使いすぎたために共有ホスティングプロバイダーによってプロセスが強制終了されます。git gcが消費できるメモリの量を制限する方法はありますか?私の望みは、メモリ使用量を速度と引き換えに、作業に少し時間がかかることです。

0 投票する
4 に答える
43212 参照

git - Gitリモートリポジトリでガベージコレクションをトリガーするにはどうすればよいですか?

ご存知のように、定期的に実行git gcしてオブジェクトを。の下にパックできます.git/objects

ただし、リモートの中央Gitリポジトリ(ベアまたはそうでない場合)の場合、多くのプッシュの後、myproj.git/objects;の下に多くのファイルがあります。各コミットはそこに新しいファイルを作成するようです。

どうすればその数のファイルをパックできますか?(つまり、ローカルのクローンリポジトリではなく、リモートの中央のベアリポジトリにあるものを意味します。)

0 投票する
5 に答える
18888 参照

git - 裸のレポで git gc を実行する必要はありますか?

man git-gcそこには明確な答えがありませんし、Google もうまくいきませんでした (間違った検索用語を使用しただけかもしれませんが)。

ぶら下がっているオブジェクトを整理したり、履歴を圧縮したりするために、ローカルリポジトリで時々実行する必要があることは理解していますgit gcが、共有されているベアリポジトリはこれらと同じ問題の影響を受けやすいですか?

重要な場合、私たちのワークフローは、複数の開発者が共有ネットワーク ドライブ上のベア リポジトリからプルおよびプッシュすることです。「中央」リポジトリは で作成されましたgit init --bare --shared

0 投票する
3 に答える
10371 参照

git - Git を使用してリモート リポジトリを強制的に圧縮 (GC) する

Git を使用して、一連のバイナリ ファイルをバージョン管理しています。それらはかなりよく圧縮されますが、私の中央リポジトリは、プッシュしても圧縮されていないようです。彼らは私のクォータのかなりの量を食い尽くしているので、リモートリポジトリにGCを強制的に実行させる方法があるかどうかを調べていました.

これは可能ですか?私はProject Lockerに取り組んでいるので、自分で SSH アクセスしてレポを GC できるとは思いません。何か案は?ありがとう。

0 投票する
12 に答える
155032 参照

git - gitリポジトリから古い履歴を削除するにはどうすればよいですか?

この特定のシナリオのようなものを見つけることができなかったのではないかと思います。

私は多くの歴史を持つgitリポジトリを持っています:500以上のブランチ、500以上のタグ、2007年半ばにさかのぼります。約19,500のコミットが含まれています。2010年1月1日より前のすべての履歴を削除して、より小さく、扱いやすくしたいと考えています(履歴の完全なコピーをアーカイブリポジトリに保持します)。

新しいリポジトリのルートになりたいというコミットを知っています。ただし、そのコミットで開始するためにリポジトリを切り捨てるための正しいgitmojoを理解することはできません。私はいくつかの変種を推測しています

移植を含むことが必要になるでしょう。また、保持したい200以上のブランチのそれぞれを個別に処理してから、リポジトリにパッチを適用して戻す必要がある場合もあります(私知っている方法)。

誰かがこのようなことをしたことがありますか?それが重要な場合は、git1.7.2.3を使用しています。

0 投票する
2 に答える
2381 参照

git - gitgc--autoを引き起こすすべてのコマンドのリスト

実行を引き起こすコマンドの決定的なリストはどこかにありgit gc --autoますか?git-gc(1)のマニュアルページには、次のように記載されています。

--auto

このオプションを使用すると、gitgcはハウスキーピングが必要かどうかをチェックします。そうでない場合は、作業を実行せずに終了します。一部のgitコマンドgit gc --autoは、多くの緩いオブジェクトを作成する可能性のある操作を実行した後に実行されます。

(強調を追加)

私はSVNからGitへの大規模な移行を計画しているところです。圧倒的多数のユーザーはWindowsPCを使用し、それらの重要でない部分は技術的ではありません。彼らはTortoiseGitを使用します(すでに慣れ親しんでいるTortoiseSVNと密接に一致しているため)-TortoiseGitにはgit gc手動で実行する機能がまったく含まれていないことに気づきました。

git gc --auto技術者以外のスタッフは、適切な作業ディレクトリから実行するために「gitbash」コマンドラインを起動する必要があるとは期待できません。また、MsysGitの「ポータブル」ディストリビューションを使用しているため、「GitGUIHere..」ウィンドウシェルコンテキストメニューショートカットはありません。

時間の経過とともにGitがほとんど自己維持することを期待するのは合理的ですか、それとも技術的ではないユーザーフレンドリーな呼び出し方法を試してみる必要がありgit gc --autoますか?