Git,忽略除某些具有特定扩展名的文件之外的文件夹
在我的git repo中有一个名为packages的文件夹,我想忽略该文件夹中的所有内容,但扩展名为targets的文件除外。我在我的gitignore中尝试过:Git,忽略除某些具有特定扩展名的文件之外的文件夹,git,version-control,gitignore,Git,Version Control,Gitignore,在我的git repo中有一个名为packages的文件夹,我想忽略该文件夹中的所有内容,但扩展名为targets的文件除外。我在我的gitignore中尝试过: packages/ !packages/**/*.targets packages/ 但它不起作用 如何忽略该文件夹而不是目标文件?嗯。我认为不可能使用direct.gitignore规则 然而,这应该有助于: .gitignore: packages/ !packages/**/*.targets packages/ 添
packages/
!packages/**/*.targets
packages/
但它不起作用
如何忽略该文件夹而不是目标文件?嗯。我认为不可能使用direct.gitignore规则 然而,这应该有助于:
- .gitignore:
packages/ !packages/**/*.targets
packages/
- 添加模式文件:
git add --force -- $(find packages/ -type f -iname '*.targets')
find packages/ -type f -iname '*.targets' -exec git add --force -- {} +
这似乎适合我(Git 1.8.2.1):
我需要*.
部分,否则***
匹配0个目录,最后一个*
将匹配包中的任何目录,实际上忽略每个目录和包中的任何文件
我希望
*.
对您来说不是太糟糕,但是没有扩展名的文件是非常少见的。它似乎只忽略只有一个点的文件,所以我的许多包含多个点的文件不会被忽略,例如:packages/AttributeRouting.3.5.6/AttributeRouting.3.5.6.nupkgStrange。我在我的测试存储库中创建了确切的目录和文件名,它被正确地忽略了。星号应该自己匹配点,我唯一强迫的是至少有一个点,但两个应该被忽略。您使用的是哪个版本的Git?哪个操作系统?(我正在使用Mac OS X 10.8.4)它可能是我的版本,我正在Windows上使用1.7.11,我将签入一个更新的版本