我的项目中有这样的文件层次结构:
assets
--script.js
--a.html
--admin
--carousel.js
--documentation.html
我想在.gitignore中添加规则,这样除了js文件之外,资产中的所有文件都会被忽略。我在.gitignore中尝试了以下操作,它只考虑第一级的script.js:
assets
!assets/*.js
然后尝试了这个也只考虑script.js:
assets
!assets/**/*.js
其他图案如!assets//.js或!assets/**.js不起作用。我想将所有级别的javascript文件都视为未跟踪文件。
我正在Git 2.1.0版本中尝试此操作。
您不应该忽略任何目录,否则它将不会在这些目录中再次包含.js
文件。请参阅What';Git忽略目录和目录/*之间的区别是什么?。
所以.gitignore
应该是:
assets/**
!assets/**/
!assets/**/*.js
可能是文件已被跟踪。请取消跟踪其他文件并将其添加到您的ig 中
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore and *.js files
!.gitignore
!*.js