[英]How to Ignore or permanently block the files, which contain date or date+time in their filenames, from being detected by Git as files added/modified
正如我在 Q-title 中提到的,我有一些名稱包含date
字符串或日期+時間時間戳的文件,這些文件位於使用 Git 配置的項目中。
帶有日期或時間戳(日期+時間)的文件名如下:
....
....
FileName1_18-07-2022.php
FileName2_18-07-2022_10-28-17_PM.vue
FileNameOther1_18-07-2022_10-28-28_PM.vue
....
....
並且有超過 20 個這樣的文件,我希望從 Git 檢測中永久忽略它們。 文件名可以有數字,但是當它們的名稱中包含精確的日期格式字符串(如上面的示例中所示)時,無論何時創建/修改它們都不能被 Git 檢測到。
我知道有兩種方法,一種是.gitignore
,另一種是在項目的.git/info/exclude
中,我知道幾個通配符,比如*
和?
,但無法弄清楚如何阻止那些名稱中包含日期或日期+時間的文件。
任何人都可以幫助解決這個問題嗎?
注意: “_PM”或“_AM”是可選的,顯然它們只有在文件名包含完整的日期+時間字符串時才會出現。 並且日期或日期+時間字符串將始終采用上面列表中所示的精確模式。 肯定沒有其他日期/日期+時間模式。
添加到您的.gitignore
:
*_??-??-????[._]*
這將匹配帶有日期后跟點或下划線的文件,並且不太可能匹配其他任何內容。
在 John Kugelman 的回答和 turek 從評論中提出的一些很好的建議的幫助下,我想出了一個從 1000 年到 9999 年不會有任何問題的模式;)。 因此,這完全匹配我在項目中擁有的所有文件名模式,並在.gitignore
或.git/info/exclude
文件中添加此模式時成功忽略這些文件:
*_[0123][0-9]-[01][0-9]-[1-9][0-9][0-9][0-9][._]*.php
*_[0123][0-9]-[01][0-9]-[1-9][0-9][0-9][0-9][._]*.vue
如果有人想阻止所有文件擴展名,那么他們可以使用這個:
*_[0123][0-9]-[01][0-9]-[1-9][0-9][0-9][0-9][._]*.*
感謝 John 和 turek 的幫助。 任何有任何建議或指出的人都可以在下面的評論中提及。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.