Mercurialを使用しています。リポジトリのクローンを作成しました。デバッグのために、Javaファイルでコードの数行を変更しました。ただし、これらの変更はコミットしませんでした。リポジトリにある元の状態に戻したいだけです。私は試した hg revert filename.Java
、それは元に戻しましたが、今ではhg status
、次のようなフォルダに追加されたファイルが表示されます。
? filename.Java.orig
それらのファイルを削除することはできますか?また、復帰を使用するとMercurialがファイルを作成するのはなぜですか?
はい、削除できます。これは、元に戻すつもりのないものを元に戻した場合の安全機能です。
フラグ--no-backupを使用することもできます。origファイルは作成されません
hg revert --no-backup filename.Java
Mercurial 2.0では、代わりにフラグ-Cを使用して、.origファイルが作成されないようにすることができます。
hg revert -C filename.Java
purge extension が便利です。使用法:
hg purge
「この拡張機能は、Mercurialによって追跡されていないすべてのファイルとディレクトリをパージします」-.origファイルを含むが、無視されたファイルを除外します(--allを使用しない場合)。
他の人が指摘したように、これらのファイルを安全に削除できます。
リポジトリのルートから次のコマンドを実行して、これらを削除できます。
rm `hg st -un | grep orig`
元に戻したいが、元のファイルのバックアップをまったく気にしない場合、必要なコマンドは次のとおりです。
hg update -C
これらは、元に戻す前のファイルのコピーです。これらが必要ない場合は、手動で、または Purge拡張 を使用して削除できます。
hg clean
これらのバックアップファイルは、マージおよび復帰操作用に作成できます(cf. manページ )。必要に応じて無視ルールを追加するか、不要になった場合は単に削除することができます。
これらは、さまざまな操作の結果、かなり一般的です。私が取り組んでいる中規模のリポジトリの1つを見ると、237が見つかります。最終的に有用になるものを削除したくないので、正当なファイルに同じサフィックスを付ける理由はないので、代わりに.hgignoreに以下を追加します。
.\.orig$
このバッチファイルを自分で作成しました。
IF "%1%" == "d" (
del /s *.orig
del /s *.rej
) ELSE (
del /s /p *.rej
del /s /p *.orig
)
ヘルプ:このコンテンツをorig.batとして保存します
orig d
確認なしですべてのリジェクトとorigファイルを一度に削除するにはorig
を実行して、確認付きでファイルを削除します[安全メカニズム]これが役に立てば幸いです。