[解決済み】Git GUIが参照する「ルースオブジェクト」とは何ですか?
2022-04-04 06:20:18
質問
を開くと
Git GUI
というポップアップメッセージが表示されます。
loose objects
. した。
git gc
というメッセージが表示され、それが削除されました。
とは?
loose objects
また、どうすればこのような事態を防ぐことができるのでしょうか?
どのように解決するのですか?
SHAで言うところのオブジェクト(ブロブ、ツリー、コミット)-。
810cae53e0f622d6804f063c04a83dbc3a11b7ca
に格納されます。
.git/objects/81/0cae53e0f622d6804f063c04a83dbc3a11b7ca
( 最初の2文字の分割は、すべてのオブジェクトが同じディレクトリに保存されるわけではないので、ファイルシステムのパフォーマンスを向上させるためです)
上記のように格納されたオブジェクトをルーズオブジェクトと呼びます。
レポを立ち上げた当初は、ほとんどがルースオブジェクトです。数が多くなると効率が悪くなるので、パックファイルに格納されます。このようなオブジェクトをpacked objectsと呼びます。
git gc
は、オブジェクトを梱包するために実行するものです(通常は、不要なオブジェクトや数週間前の緩いオブジェクトも削除され
--prune=<date>
オプションを使用すると、不要になったルースオブジェクトを強制的に削除することができます。コミットを修正するときのように。古いコミットオブジェクトはもう必要ありません。)
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git が追跡したファイルを .gitignore に登録したまま「忘れる」ようにするにはどうしたらいいですか?
-
[解決済み] まだプッシュされていない Git マージを元に戻す
-
[解決済み] Git で現在のブランチ名を取得するには?
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】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, fatal: リモートエンドが予期せずハングアップしました。
-
[解決済み】GitHubで空のブランチを作成する
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] ERROR: リモートレポ 'origin' のクローン作成に失敗しました。
-
[解決済み] Git pull - マージする前に移動または削除してください。
-
[解決済み] VSTS Git Fetch Failed with exit code: 128
-
[解決済み] git status に fatal: bad object HEAD と表示される。
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] git update-index --assume-unchanged <file> を元に戻す。
-
[解決済み] Git作者不明