18

hgignore ファイルが重要なファイルを除外しているのではないかと心配することがよくあります。たとえば、ソースと共に保持する必要があるいくつかの小さな実行可能ツールを除外するすべての .exe ファイルを除外していることに気付きました。それらを含めるのは簡単な変更でしたが、ルールが意図しない結果をもたらす可能性があるのではないかと心配しています.

ファイルが原因で追跡されていないすべてのファイルのリストを表示する方法はあり.hgignoreますか? リストを定期的に確認して、満足していることを確認できるようにするためです。

4

4 に答える 4

29

コマンドhg status -iはまさにそれを行います。

于 2012-09-03T09:16:57.930 に答える
14

@ジョンは正しい答えで私を打ち負かしましたが、それには何の価値もありませんstatus -i

  • hg status -m(変更されたファイルのみ)
  • hg status -a(追加されたファイルのみ)
  • hg status -r(削除されたファイルのみ)
  • hg status -d(削除されたファイルのみ)
  • hg status -u(追跡されていないすべてのファイル)
  • hg status -c(変更のないファイル、つまり「クリーン」)
  • hg status -A(すべてのファイル、つまりすべて)
于 2012-09-03T09:28:43.843 に答える
10

ファイル名を手動で検査したい場合は、-i/--ignoredフラグを使用してステータスを取得します。

$ hg status -i
I ignored file.exe

ファイル名のみが必要な場合は、 を使用して、各ファイル名の前に出力されるステータス コード-n/--no-statusを抑制します。I

$ hg status -n -i
ignored file.exe

でファイルxargsを処理する必要がある場合は-0/--print0、さらにフラグを使用します。

$ hg status -n -0 | xargs -0 touch

これにより、スペースを正しく処理できます — を使用すると、最終的に 2 つのファイルとして-0扱うことになるリスクがあります。シェルは通常、スペースで分割されるためです。ignored file.exeignoredfile.exe

上記のコマンドは、一致する追跡されていないファイル.hgignoreを表示します。一致する追跡ファイル.hgignoreを見つけるという関連の問題を解決したい場合は、ファイルセット クエリを使用する必要があります。それは次のようになります。

$ hg locate "set:hgignore()"

ファイルを操作するすべてのコマンドでファイルセットを使用できるため、たとえば次のことができます。

$ hg forget "set:hgignore()"

見つかったファイルの削除をスケジュールします (作業コピーにコピーを残します)。

于 2012-09-05T20:58:28.757 に答える
4

はい、可能です。TortoiseHg のような機能を使用している場合は、表示するファイルを選択できます。

これがサンプルです

ここに画像の説明を入力

于 2012-09-03T09:20:13.550 に答える