簡體   English   中英

如何忽略或永久阻止文件名中包含日期或日期+時間的文件被 Git 檢測為添加/修改的文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM