2012-04-24 10 views
23

私は仮想のMercurialリポジトリをディスクに持っています。私は、私が作業しているファイルを完全に混乱させ、そのファイルを最後のコミット状態に戻したいと思ったときに、新しい機能を作成することの大半を行っています。Mercurialでファイルを「最後のチェックイン」状態に戻すにはどうすればよいですか?

私はリポジトリから作業コピーを更新するためにhg updateを使用することができますが、それはすべてのファイルを更新します。

1つのファイルだけを更新できる水銀コマンドがありますか?

答えて

28

ファイルを元に戻すには、水銀のコマンドがあります。 hg revertこれは変更を元に戻すはずです。ファイル名には、hg revert fileNameなどのファイル名を渡すこともできます。

3

私はあなたがhg revert /path/to/file/<file name>を入力すると、それだけでそのファイルを更新すると確信しています。

+1

をいや、それはMercurialの、 'HGのチェックアウトで(Gitのcheckout''ため、この奇妙な振る舞いを持つGitのです'は' hg update'のエイリアスです)。 –

+0

あなたは正しいです、私を修正していただきありがとうございます。 – Kodi

+0

@Variあなたの答えは間違っていますか?もしそうなら、削除してください。 –

11

hg revert fileNameは、バックあなたがであるリビジョンにそのファイルを元に戻すします。 すべての変更を元に戻したい場合は、hg revert --allを実行してください。あなたは念のために戻すことが欠けているの変更を保つことができるように

これらの両方は、fileName.origファイルを生成します。あなたは、ファイルを元に戻すと、あなたが-Cオプションを追加することができ、すべての.ORIGファイル持っていたい場合: hg revert fileName -C hg revert --all -C

+0

です。私の '.hgignore'ファイルに' * .orig'を追加し、 '.orig'ファイルをそのまま残しておく方が良いでしょう。たぶん私はいつかそれらを必要とするでしょう:)彼らがあなたを気にするならば、パージ延長を使ってそれらをきれいにすることができます。 –

関連する問題