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


224

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

hg remove <full file path> 

ローカルで削除されhg removeすべてのファイルに対してどのコマンドを使用できますか?

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

追加の場合は、hg addすべての新しいファイル(プレフィックスが?)を追加するだけです。

回答:


364

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

hg addremove

これらのどちらでも、ローカルで見つからないファイルをすべて削除します(これらは同じコマンドです)

hg remove --after
hg remove -A

7
hg rm -Af
jk

37
ユーザ名のJKが威嚇され、私はevertimeように感じる私はあなたが最後に「冗談」を言っているあなたのコメントや投稿の1を読み:(ということでは言っても、この助け、歓声!
レスター・ピーボディ

6
警告の一言...画面にがらくたの山がまるごと捨てられるとき、おかしくなりません...(私がしたように)
Richard B

1
うわー!ありがとう!それは大いに役立ちました!うわー!+1 :) hg rm -A
Cullub

32

addremoveを実行してコミットする場合は、次のように '-A'オプションで結合できます

hg commit -A -m 'Commit with addremove'

5

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

hg -v forget $(hg st -nd)

(もちろん、ファイルは次のコミット時にのみ忘れられます。)

フラグは他の場所(たとえばhgコマンド自体)で十分に文書化されていますが、簡単に言えば:

  • -n 「ファイル名のみ」を意味します
  • -d 「削除されたファイルを選択する」という意味です

これらのフラグのそれぞれについて説明できますか?
2016年

1

addremoveとcommitしたいが、残りの変更をcommitする準備ができていない場合でも、それらを列挙する必要があると思います。

$ 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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.