Esc*_*ar5 7 git version-control gitignore
我的git repo中有一个名为packages的文件夹,我想忽略该文件夹中的所有内容,除了具有目标扩展名的文件.我在我的gitignore中试过这个:
packages/
!packages/**/*.targets
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
如何忽略该文件夹而不是目标文件?
这似乎对我有用(Git 1.8.2.1):
packages/**/*.*
!packages/**/*.targets
Run Code Online (Sandbox Code Playgroud)
我需要这个*.*部分,否则**匹配 0 个目录,*最后一个单独的将匹配包内的任何目录,实际上忽略每个目录和里面的任何文件。
我希望这*.*对你来说不是太糟糕,但是没有扩展名的文件是非常罕见的。
唔。我认为不可能使用直接 .gitignore 规则。
但是,这应该有所帮助:
.gitignore:
packages/
Run Code Online (Sandbox Code Playgroud)添加模式文件:
git add --force -- $(find packages/ -type f -iname '*.targets')
Run Code Online (Sandbox Code Playgroud)您甚至可以将添加添加到预提交挂钩中,以便在新目标文件出现时自动拾取它们。
要正确支持带有特殊字符的文件名:
find packages/ -type f -iname '*.targets' -exec git add --force -- {} +
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
874 次 |
| 最近记录: |