10

我试过这个 .gitignore 文件:

 *
 !mydirectory.ext
 !.gitignore

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

也试过:

 !\mydirectory\.ext

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

任何解决方法?

4

2 回答 2

9

参考

*
!/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

等等

于 2013-01-12T11:25:54.820 回答
2

那种白名单在 git 中是不容易的。

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

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

最好的方法是重新考虑您的问题并尝试在没有此类一般例外的情况下解决它,例如通过明确忽略您确定不想要的所有内容。

于 2013-01-12T13:02:21.110 回答