2013-03-27 14 views
22

Mercurialにhg addと入力してください。私の作業ディレクトリには、無視されないたくさんのファイルがあります。各ファイルの名前を明示的に入力しなくても、これらのファイルをすべて削除する最も簡単な方法は何ですか?Mercurialで追加されたすべてのファイルを元に戻す方法

すべてを1つのコマンドですべて削除することはできますか?

+0

重複したhttp://stackoverflow.com/questions/6183374/undoing-last-addremove-in-mercurial – Eborbob

答えて

24

はじめ

あなたはいつもできるだけ限り多くの情報が含まれている質問を、お願いしなければなりません。今あなたの質問は、いくつかの条件によって、まったく異なる答えを持つかもしれません。

ケース1 - すでにバージョン管理下のファイルでローカルの変更のみを追加(およびコミットされていない)すべての変更も、それを元に戻す、最後のコミット後の状態に作業ディレクトリを返します

hg revertをファイル。

ケース1 - あなたが保存したいローカル編集、および時折追加されたファイル

  1. 読むMercurialの内のファイルセットについて。
  2. hg forgetコマンドのファイルセットを使用します(hg forget "set:added()"など)。
-1

いつでも、リポジトリを再クローンして、作業フォルダ内の.hgディレクトリを新しいクローンの.hgディレクトリに置き換える(既存のものを削除してから新しいものをコピーする)ことができます(保留中のコミットがないものと仮定します)。 。)

+0

これは理論上実行可能なようですが、エラーが発生する可能性があります。私はあなたが手動で新しいクローンで再現したくないローカルの変更が大量にあった場合、これが最良の選択かもしれないと思います。とにかくクリエイティブなソリューション! – DaveInCaz

19

使用hg revertまたはhg forgetファイル上の(両方を使用すると、上hg addを実行したファイルに対して同じことを行います)。ファイル名を入力しないようにするには、このようなfilesetを使用することができます。

$ hg revert "set:added()" 

これはすなわち、それは再び不明になり、それは作業コピーの親リビジョンに見てどのように戻ってファイルを元に戻します。

+0

こんにちは、マーティン。おそらくこれは単に 'hg revert -a'よりも洗練されています。これは既存のファイルへの変更を元に戻します。 –

+0

@FaheemMithaはい、正確です。 –

関連する問題