web-dev-qa-db-ja.com

不足しているすべてのファイルに対してMercurialの「hg remove」を行う方法

これを使用して、レポジトリからファイルを削除します。

hg remove <full file path> 

ローカルで削除されたallファイルでhg removeを実行するには、どのコマンドを使用できますか?

ローカルで削除するということは、!を実行するとhg statusで表示されることを意味します。

追加の場合は、hg addを実行して、すべての新しいファイル(?で始まるもの)を追加できます。

222
Marcus Leon

これにより、無視されないすべての新しいファイルが追加され、ローカルに存在しないすべてのファイルが削除されます

hg addremove

これらのいずれかは、ローカルに存在しないすべてのファイルを削除します(これらは同じコマンドです)

hg remove --after
hg remove -A
360
mfperzel

Addremoveとcommitを実行する場合は、 here のように '-A'オプションで結合できます。

hg commit -A -m 'Commit with addremove'
32
tsenapathy

元の質問では、"!"を使用するときにhg stとして表示されるファイルを削除する(つまり忘れる)方法を尋ねました。透明性の利点がある直接的なアプローチは、hg stオプションで-nを使用することです。

hg -v forget $(hg st -nd)

(もちろん、ファイルは次のcommitでのみ忘れられます。)

フラグは他の場所で十分に文書化されています(例:hgコマンド自体によって)が、簡潔に:

  • -nは「ファイル名のみ」を意味します
  • -dは、「削除されたファイルを選択する」ことを意味します
5
peak

削除してコミットしたいが、残りの変更をコミットする準備ができていない場合は、それらを列挙する必要があります。

$ hg st
M modified-file
A added-file
R removed-file-1
R removed-file-2

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-*
abort: removed-file-*: No such file or directory

$ hg commit -m"remove removed-file-1 and removed-file-2" removed-file-1 removed-file-2
committed changeset 185:628800a7af84
1
Dan Ross