tamakipedia

フロントエンドエンジニア。Typescriptもう特訓中です。一日の振り返りや学んだことをちょっとずつ吐いています。

git add した際に謎のエラーメッセージが出た件

今日もテトリス作成を行なっていました。

ここまでの作業をコミットしようとした時に起きた出来事です。

テトリス奮闘中

Auto packing the repository in background for optimum performance.

f:id:okinawanpizza:20200102192813p:plain

謎のwarning

怖えぇ、、、

「性能最適化のためのリポジトリの自動パッキング」

直訳するとこうなりますが、どうやらリポジトリの最適化に問題がありそうです。

 

warning: The last gc run reported the following. Please correct the root cause and remove .git/gc.log.

「前回のgc run の報告を参考にして、その根本原因を直してください。.gitのgc.log.ファイルも消してください」

git ってすごい。エラーの解決方法も提示してくれるのですね。。

 

ガベージコレクション( garbage collection ) とは

gitで管理されている不要なファイルをお掃除してくれるシステムのことを指します。

git addしたのに結局コミットをしなかったものは実質不要なものになりますので、そういったファイルが不要ファイルとみなされガベージコレクションしてくれます。

 

解決

1. git fsck ( = 削除できる情報の確認)

2. git prune ( = 削除)

3. git gc ( =  再度最適化を行う)

4. git gc --auto ( = 自動で削除するモードに切り替える)

 

おしまい

完了!!!

初めて見たコードたちだったので内心ビクビクしました。

これは一歩間違えるとリポジトリを破損しかねないくらい気をつけないといけないらしいです。

共同で作業を行うときは気をつけましょう!!

 

参考

https://gist.github.com/koseki/b67f960c842313f8330c

https://stackoverflow.com/questions/28633956/why-does-git-keep-telling-me-its-auto-packing-the-repository-in-background-for

https://qiita.com/laiso/items/e00195e7365fe8cdb8ab

https://mag.osdn.jp/09/03/16/0831212#git4-fsck