Gitをプロジェクトに使用して、誤って大きな.Zip
ファイルをコミットに追加しました。 githubへのアップロードを開始するまで気がつきませんでした。気づいたとき、ctrl-c
、git remove
、git commit
を押して、もう一度アップロードしました(ファイルは追跡されていません)。
.Zip
をコミットすると、コミットを元に戻すまでレポジトリに残るので、これは正しい選択ではなかったことを知っていますが、悲しいことに私はしませんでした。
今、誰かがレポからダウンロードしようとすると、それを行うのに多くの時間がかかり、時々git the remote end hung up unexpectedly
(私が読んだことはgit config
を実行することで解決できます)をもたらし、非常に迷惑です。
私のポイントは:この特定のコミットバージョンでこの特定のファイルを忘れるプル/フェッチ要求をさらに伝える方法はありますか?
Githubは ファイルの削除に関する便利なヘルプページ を提供します。 StackOverflowには、これをカバーする他の質問もあります
Pro Gitブックのこのセクション も参照してください。
Passwords.txtという名前のファイルを履歴全体から削除するには、-tree-filterオプションを使用してブランチをフィルター処理できます。
$ git filter-branch --tree-filter 'rm -f passwords.txt' HEAD Rewrite 6b9b3cf04e7c5686a9cb838c3f36a8cb6a0fc2bd (21/21) Ref 'refs/heads/master' was rewritten
クリーンアップ後、 git gc を試して、リポジトリをさらに圧縮してクリーンアップすることもできます。
現在「BFG Repo-Cleaner」と呼ばれるツールがあり、これはgithub.comでfilter-branchの代替として言及されています https://help.github.com/articles/remove-sensitive-data/
ツールのページへのリンク https://rtyley.github.io/bfg-repo-cleaner/