2016-12-05 8 views
1

BitBucketで大きなファイルを誤って書きました。ローラムの組み込みシステムでリポジトリを複製すると、メモリ不足例外が発生します。BitBucketで大きなファイルを削除します。

サーバーから膨大なファイルを削除するか、履歴をコミット前のリビジョンにローカルにエクスポートして、再度BitBucketにプッシュします。

どのようにこれを行うことができますか?

よろしく、 アントニオ

+1

これはブランチの最後のコミットをコミットしていますか? – LeGEC

+0

いいえ、それは歴史の真っ只中でしたが、以下の方法で私は解決しました! –

答えて

1

は、ここでのBitbucketからのソリューションです:

あなたがにリセットすることができるはずコミット は、コマンドを使用してこのファイルを導入された1つ前に:gitのリセット - -hard HEAD〜Nここで、N は、先頭に戻したいコミットの数です。 これは破壊的な操作であり、 のコミットは完全に削除されるので、 のリポジトリでこのコマンドを実行する前にバックアップをとることを強くお勧めします。次のステップとして、 がリモートのrepoに変更をプッシュするように強制することができます:git push --fこのファイル がプッシュされた場合、多くのコミットが戻され、これらのファイルを削除したくないので、 他のファイル BFGを使用してgit履歴からのみこのファイルを削除することもできます: https://rtyley.github.io/bfg-repo-cleaner/ BFGは履歴を書き換えますが、コミットを削除する代わりに を変更してこの大きなファイルを削除してくださいそれらから。この場合も、バックアップには もお勧めします。

編集:私はのBitbucket /アトラシアンのスタッフhttps://confluence.atlassian.com/bitbucket/maintaining-a-git-repository-321848291.htmlから公式のリンクを受け取りました。

+1

filter-branchサブコマンドに基づく解決策は、ヒストリの全部または一部を書き換え、すべてのコミットから特定のファイルを削除するのに非常に役立ちます。 – Antwane

+0

確かに、私の問題は解決しましたが、最後のプッシュで注意してください。私はあなたがコマンド "git push -all"を発行しなければならないと書いていませんでした。さもなければ、あなたはMASTERブランチの履歴だけを書き換えて、他のものを失います。 –

関連する問題