web-dev-qa-db-ja.com

Mercurialで追加されたすべてのファイルを元に戻す方法

タイプhg add Mercurialで、作業ディレクトリに追跡されない多数のファイルが無視されません。各ファイルの名前を明示的に入力せずに、それらすべてのファイルの追加を解除する最も簡単な方法は何ですか?

1つのコマンドでそれらすべてを追加解除できますか?

27
PICyourBrain

序文

できる限り多くの情報を含む質問を常に行う必要があります。なぜなら、あなたの質問は、いくつかの条件に応じて、まったく異なる答えを持っているかもしれないからです。

Case One-すでにバージョン管理されたファイルにローカルの変更はなく、追加された(コミットされていない)ファイルのみ

_hg revert_は、作業ディレクトリを最後のコミット後の状態に戻し、すべての変更を取り消します。

Case One-ローカル編集、これは保存して、時々ファイルを追加したい

  1. Mercurialのファイルセットについて読んでください。
  2. _hg forget_コマンドで、hg forget "set:added()"のようなファイルセットを使用します。
27
Lazy Badger

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

$ hg revert "set:added()"

これにより、ファイルは作業コピーの親リビジョンでの表示に戻ります。つまり、ファイルは再び不明になります。

25
Martin Geisler

hg revert -r。^ path-to-fileは、コミットセットからコミットを元に戻します。次に、コミットして送信します(クラゲを使用している場合)。変更セットからファイルが削除されていることがわかります。 。^が機能する理由はまだわかりませんが、おそらく誰かが知っているでしょう。

0
Jerry Ludwig