Git:不要忽略-directory-中有一个点

时间:2013-01-12 10:11:02

标签: git version-control gitignore

我试过这个.gitignore文件:

 *
 !mydirectory.ext
 !.gitignore

但是它不起作用,除了gitignore之外的所有东西都被忽略了。

也尝试过:

 !\mydirectory\.ext

该目录需要扩展名,因为它是应用程序的插件。

有任何解决方法吗?

2 个答案:

答案 0 :(得分:8)

ref

*
!/mydirectory.ext/
!/mydirectory.ext/*
!/mydirectory/.ext/
!/mydirectory/.ext/*
!.gitignore

*
# ignore all 
!/.*/
# but not directories which names starting with a dot
!/.*/*
# and all its contents
/.*/*/
# but ignore other directories (which names not starting with a dot)
# which results also not tracking its files underneath
!/.*/.*/
# but not to subdirectories (which names starts with a dot)
!/.*/.*/*
# and its contents


!/*.*/
# don't ignore directories which names has a dot in it
!/*.*/*
# and its contents
# extend it like with /.*/ 
!.gitignore

等等

答案 1 :(得分:4)

这些白名单在git中并不容易。

一旦你忽略了一个目录,git就不会查看它,因此不会检查这个目录中的异常。

解决这个问题的唯一方法是使用长的包含/排除级联,这非常难看。

最好的方法是再次思考你的问题并尝试在没有这些一般例外的情况下解决它,例如明确忽略你确定不想要的一切。