web-dev-qa-db-ja.com

Mercurialでhg revertを使用する

Mercurialを使用しています。リポジトリのクローンを作成しました。デバッグのために、Javaファイルでコードの数行を変更しました。ただし、これらの変更はコミットしませんでした。リポジトリにある元の状態に戻したいだけです。私は試した hg revert filename.Java、それは元に戻しましたが、今ではhg status、次のようなフォルダに追加されたファイルが表示されます。

? filename.Java.orig

それらのファイルを削除することはできますか?また、復帰を使用するとMercurialがファイルを作成するのはなぜですか?

62
user246114

はい、削除できます。これは、元に戻すつもりのないものを元に戻した場合の安全機能です。

48
Hank Gay

フラグ--no-backupを使用することもできます。origファイルは作成されません

hg revert --no-backup filename.Java

Mercurial 2.0では、代わりにフラグ-Cを使用して、.origファイルが作成されないようにすることができます。

hg revert -C filename.Java
87
Fooman

purge extension が便利です。使用法:

hg purge

「この拡張機能は、Mercurialによって追跡されていないすべてのファイルとディレクトリをパージします」-.origファイルを含むが、無視されたファイルを除外します(--allを使用しない場合)。

23
Jonah Braun

他の人が指摘したように、これらのファイルを安全に削除できます。

リポジトリのルートから次のコマンドを実行して、これらを削除できます。

rm `hg st -un | grep orig`

元に戻したいが、元のファイルのバックアップをまったく気にしない場合、必要なコマンドは次のとおりです。

hg update -C
8
Ted Naleid

これらは、元に戻す前のファイルのコピーです。これらが必要ない場合は、手動で、または Purge拡張 を使用して削除できます。

hg clean
6
Peter Westlake

これらのバックアップファイルは、マージおよび復帰操作用に作成できます(cf. manページ )。必要に応じて無視ルールを追加するか、不要になった場合は単に削除することができます。

5
AndiDog

これらは、さまざまな操作の結果、かなり一般的です。私が取り組んでいる中規模のリポジトリの1つを見ると、237が見つかります。最終的に有用になるものを削除したくないので、正当なファイルに同じサフィックスを付ける理由はないので、代わりに.hgignoreに以下を追加します。

.\.orig$
0
Derek Slager

このバッチファイルを自分で作成しました。

IF "%1%" == "d" (
    del /s *.orig
    del /s *.rej
 ) ELSE ( 
    del /s /p *.rej
    del /s /p *.orig
 )

ヘルプ:このコンテンツをorig.batとして保存します

  1. 実行orig d確認なしですべてのリジェクトとorigファイルを一度に削除するには
  2. origを実行して、確認付きでファイルを削除します[安全メカニズム]

これが役に立てば幸いです。

0
mahe madhi