我經常擔心我的hgignore文件可能會排除重要文件。例如,我只注意到我排除了所有的.exe文件,這些文件排除了一些應該與源代碼保持一致的小型可執行工具。將它們包括在內只是一個簡單的改變,但讓我擔心這些規則可能會產生意想不到的後果。如何檢查哪些文件因.hgignore而被忽略?
有沒有辦法查看由於.hgignore
文件而未被跟蹤的所有文件的列表?只是這樣我才能定期查看清單以檢查我是否滿意。
我經常擔心我的hgignore文件可能會排除重要文件。例如,我只注意到我排除了所有的.exe文件,這些文件排除了一些應該與源代碼保持一致的小型可執行工具。將它們包括在內只是一個簡單的改變,但讓我擔心這些規則可能會產生意想不到的後果。如何檢查哪些文件因.hgignore而被忽略?
有沒有辦法查看由於.hgignore
文件而未被跟蹤的所有文件的列表?只是這樣我才能定期查看清單以檢查我是否滿意。
命令hg status -i
正好如此。
是的,這是可能的。 如果您使用的是像TortoiseHg這樣的smth,您可以選擇您想查看的文件。
下面是一個示例
@喬恩打我用正確的答案衝,但它沒有價值,隨着status -i
,有:
hg status -m
(僅修改文件)hg status -a
(僅限添加的文件)hg status -r
(只刪除的文件)hg status -d
(僅適用於已刪除的文件)hg status -u
(所有非跟蹤文件)hg status -c
(文件沒有變化,即。 「清潔」)hg status -A
(所有文件,即一切)如果你想要做人工檢查上的文件名,然後使用-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
這將照顧正確處理空間 - 用-0
,是有風險您最終會將ignored file.exe
視爲兩個文件:ignored
和file.exe
,因爲shell通常在空間上分割。
以上命令將告訴您未匹配的文件匹配.hgignore
。如果你想解決發現跟蹤文件匹配.hgignore
的相關的問題,那麼你就需要使用fileset query。這看起來是這樣的:
$ hg locate "set:hgignore()"
您可以使用文件集與操作文件的所有命令,這樣你就可以,例如做:
$ hg forget "set:hgignore()"
安排(發現去除文件同時抄送左在你的工作副本後面)。
打敗了我,因爲我太忙於輸入其他字符來滿足最低字符要求:) _「身體必須是30個字符,你輸入28」_ –
@BurhanKhalid:我也有過這個問題...教訓: 「如果有疑問,請詳細說明」;) – Jon
總是使用--long選項給出答案。更好的教學。 :) –