3

addremoveを使用せずに削除されたいくつかのファイルを削除しようとすると、を使用するのを間違えましたhg remove

これで、次のコミットで追加される数百のファイルがあります

とにかく、bashスクリプトに頼ったり、さらに悪いことに、各ファイルを手動で使用したりすることなく、これらの追加されたすべてのファイルをすばやく削除できhg removingますforgettingか?

4

2 に答える 2

7

内部hgコマンドのみを使用する場合は、次の操作を実行できます。

hg forget "set:added()"

これにより、作業ディレクトリで「追加済み」とマークされたファイルはすべて忘れられます。Mercurialのかなり強力なファイルセット機能を利用します。

ファイルを指定するときに使用できる追加のフィルターがあり、他の間違いを簡単に修正できます。たとえば、削除したファイルを簡単に再追加できますが、それ以外は何も追加しませんhg add "set:removed()"。機能は(ありがたいことによりも単純な)水銀の回転セットに似ており、次の方法で調べることができます。

hg help filesets
于 2012-11-22T17:35:42.277 に答える
3

次の行に沿って何かを使用して、コマンドラインで非常に簡単に実行できます。

hg status --added --no-status | xargs hg forget

これにより、最後のコミット以降に追加されたすべてのファイルが忘れられるはずです。

これが二度と起こらないように、ファイルに追加したくないファイルを追加することをお勧めします.hgignoreか?

于 2012-11-22T11:29:16.943 に答える