[Git]うっかりコミットしてしまった余分なファイルを.gitから削除する方法

   2018/02/04

自動生成ファイルとかを.gitignoreで無視するの忘れて、全部いっしょくたにcommitしちゃうこと、あるよね~。

後になって.gitがめちゃデカくなって後悔する事、あるよね~。

って事で、.gitを軽量化する方法。

バックアップを取る

リポジトリの履歴を書き換える作業になるので、何かあったら大変。
リポジトリのコピーを丸々とっておくとかしてバックアップを取っておく。

.git/objectsのサイズを調べる

サイズを調べておく。

.gitの中で大きいファイルを調べる

このサイトのスクリプトをダウンロード。スクリプトの中身は以下の通り。

これを実行すると、.gitのなかでどのファイルが大きいか調べてくれる。

これをもとに.gitignoreを書く。

.gitリポジトリから削除

以下のようなスクリプトを書く。
TARGETSの中は、削除したいファイルを指定。
.gitignoreと同じような感じで指定できるので、.gitignoreを見ながら指定。

そしたら実行。

終わったら、リモートリポジトリに強制的にプッシュ。

そして、ローカルの.gitリポジトリのサイズを削減(今までの操作による悪影響がない事を確認してから実行する事!)。

効果を確認して完了

もう一度duやgit_find_big.shを実行して、サイズが小さくなっていたら軽量化完了。
場合によってはまだ小さくなってない事もあるけど、この時点でリモートリポジトリの.gitのサイズは小さくなっているので、.gitフォルダだけリモートからダウンロードして、ローカルの.gitに上書きしてしまってもよい。

 

タイトルとURLをコピーしました

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

8 + 19 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください