2

Mercurialリポジトリに大きなファイルがあり、リポジトリをBitbucketにアップロードできません。エラーが発生します:

abort: HTTP Error 413: Request Entity Too Large

幸い、このファイルのファイル拡張子はリポジトリ内の他のすべてのものとは異なるため、除外するルールを簡単に作成できるはずです。ただし、ファイルが大きくなりすぎた可能性がある数日前まで、ファイルはリポジトリのコミットに含まれていました。履歴と将来のコミットから削除する必要がありますか?これを行うにはどのコマンドが必要ですか?

このドキュメントは「IncludeExcludeProposal 」で見つけましたが、提案された機能なのか実際の機能なのかわかりません。

https://www.mercurial-scm.org/wiki/IncludeExcludeProposal

4

2 に答える 2

4

すでにコミットしていて、コミットしているように見える場合は、exclude(別名hgignore)は機能しません。

.hgignore(およびInlcudeExcludeProposalに表示される採用されていない高度な構文)は、追加したくないファイルを誤って追加するのを防ぐのに役立ちます。ファイルを追加すると、hgignoreは効果がなく、その追加をコミットすると、EditingHistoryなしで履歴からファイルを削除する方法はありません。

最後のいくつかのコミットを(大きなファイルの追加以外のすべてをやり直すことを目的として)取り除くことができれば、使用できhg clone -r lastknowngoodextension existingrepopath newrepopath、newrepopathでリポジトリから不要な拡張子を差し引いたものになります。Bitbucketはチェンジセットを削除するためのWebインターフェイスを提供していると思いますが、よくわかりません。

mq最後のいくつかのリビジョンを複製(または削除)できない場合は、またはconvert同様のものを使用して、EditingHistoryスペースにいます。

これらのファイルを追跡したいがリポジトリには含めたくない場合は、bfiles拡張子を確認することをお勧めします。

于 2010-03-08T19:55:03.030 に答える
0

今では可能です。
TortoiseHgはそれを行うことができます(「ファイルを忘れる」オプションがあります)。

またはhg forget、コンソールに入力します。

于 2014-04-12T22:12:04.760 に答える