.png)
コードベースにローカル コミットをいくつか作成し、リポジトリにプッシュしようとしましたが、かなり大きなファイルがありました。あきらめて、ローカル コミットを作成しながら作業を続けました。大きなファイルを削除して再度コミットしましたが、元の大きなファイルをプッシュしようとしています。最初にコミットした後、50 MB を超えるファイルを無視するように gitignore を追加してみましたが、効果はありませんでした。
何か案は?
答え1
読むここフィルターブランチについて。
誰かが、考えなしに git add . を実行して巨大なバイナリ ファイルを誤ってコミットしてしまい、それをすべて削除したいとします。パスワードを含むファイルを誤ってコミットしてしまい、プロジェクトをオープン ソースにしたいとします。filter-branch は、おそらく履歴全体を消去するために使用するツールです。passwords.txt という名前のファイルを履歴全体から削除するには、filter-branch に --tree-filter オプションを使用します。
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD
Rewrite 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21)
Ref 'refs/heads/master' was rewritten
また、それらのファイルをコミットした時点でブランチに対話型のリベースを実行し、そのコミットからファイルを削除することもできます。上記のリンクでもこれについて説明していますが、基本的には次のようになります。
git rebase -i HEAD~X
最後の X 個のコミットを編集できるようになります。