我想忽略,除了那些发生在我的库中的所有文件bin
子目录。 我尝试添加以下到我.gitignore
:
*
!bin/*
这不会收到预期的效果,但是:我创建了内部的新文件bin/
,但这样做git status
仍然显示nothing to commit (working directory clean)
。
有什么建议?
我想忽略,除了那些发生在我的库中的所有文件bin
子目录。 我尝试添加以下到我.gitignore
:
*
!bin/*
这不会收到预期的效果,但是:我创建了内部的新文件bin/
,但这样做git status
仍然显示nothing to commit (working directory clean)
。
有什么建议?
这忽略根文件和根目录下,然后取消忽略根bin目录:
/*
/*/
!/bin/
这样,你得到的bin目录中的所有,包括子目录及其文件。
这里如何忽略某个目录一切exept一个目录“MY_SUPER_DUPER_TEMPLATE_directory”
结构:/的Bitrix /模板/ MY_SUPER_DUPER_TEMPLATE_directory
/*
!/bitrix
/bitrix/*
!/bitrix/templates
/bitrix/templates/*
!/bitrix/templates/MY_SUPER_DUPER_TEMPLATE_directory
*.DS_Store
*.gitignore
您必须在途中对目的地排除一切,但你必须包括目的地:
注意:这是一个排除文件(即的.gitignore)这样的逻辑被反转。 忽略所有,除了小勺目录,忽略所有的小勺目录,除了src目录...
/*
!/tsp
/tsp/*
!/tsp/src
/tsp/src/*
!/tsp/src/*.h
!/tsp/src/*.cpp
!/tsp/src/data.txt
!/.gitignore
你唯一的问题是, bin
目录本身不匹配bin/*
模式,使Git是连看都不看在bin
目录。
有两种解决方案,映入脑海。
.gitignore
:
*
!/bin/
!bin/*
要么
.gitignore
:
*
!/bin/
bin/.gitignore
:
!*
我倾向于第二种方案作为第一个解决方案将不会停止忽略在文件bin
目录中,这些地方不叫子目录bin
。 这可能或您的情况可能并不重要。
从官方git的文档 ,其中一个例子说:
例如,要禁止除特定目录富/酒吧的一切(注意/ * - 没有斜杠,通配符也将排除富/酒吧内的所有内容):
$ cat .gitignore
# exclude everything except directory foo/bar
/*
!/foo
/foo/*
!/foo/bar
有关领导斜线的解释: 当使用斜线在gitignore 。
我认为更好的办法是通过启动以斜线模式定位每个图案顶端的git目录:
/*
!/public_html
!/.gitignore
相反,忽略所有的文件只会忽略顶层的文件,而不是在你不想忽略目录的人。
尝试按照最新的Git版本。
*
!*/
!/path/to/your/dir/**
这.gitignore
对我的作品:
*/
/*
!bin/
试试这个不起眼的git的错误。
!bin**/**
希望能帮助到你 :)
支持文档的Git错误样本
PS:第一注解之前尝试。