12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Gitで大きいファイルを間違えてコミットしてしまった時の対処法

Posted at

はじめに

 現在、apacheの生ログの解析をしているのですが作業ディレクトリにログデータが入ったままコミットしてしまいなぜプッシュ出来ないのか調べないままそれらの作業を重ねてしまった時にした対処法を備忘録として保存しておきます。
 すべての元凶は自分のアホさとgit add . を使うめんどくさがりなところです。。。

大きいデータをpushしたい時

 エラーメッセージで検索した時にまず出たのが、pushする時のファイルサイズを変更するというものだったので、この方法を試しました。

git config --global http.postBuffer 157286400

 これは、ポストするバッファのサイズを大きくするという対処法です。実際に120.44 MiBのプッシュにも成功しました(今考えるとすごいアホなサイズのをgitにあげようとしてますね笑)。
 画像などを管理する人はこの対処法が有効だと思います。

コミットしないファイルを除外する

 自分にとって有効だったのがこの方法です。まずは、.gitignoreファイルを作成します。

vi .gitignore

 次に、除外するファイル、ディレクトリを.gitignoreに記述します。実際に書いたものを下記に示します。

# 無視するファイル
*.txt
*.csv
*.db
*.out
*.log
*.md

# 無視するディレクトリ
analysised/
log_data/
output_log/

 自分の場合は、このような感じです。結局拡張子での除外は必要なく、ディレクトリごと除外する方が重要になりました。
 拡張子やディレクトリ以外での除外方法もあるので調べてみてください。

gitignoreしたファイルの除外

 次に、gitignoreで除外したファイルをgit上でも除外しなくてはいけません。
 除外しないといけないファイルは、git commitした時にずら〜と出てくるのですがcommitの削除もする手間が出るので、できればcommitエラーを出さずに削除したほうがいいと思います。

git rm --cached -f ファイル名

終わりに

 これらの方法で、gitでの管理が再び出来るようになりました。慣れていないとgitの恩恵が受けられず大変ですががんばりましょう!!

参考HP

12
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?