我看过这个答案:Unignore subdirectories of ignored directories in Git
据我所知,我正在做同样的事情,但是git拒绝取消我的目录/文件。
这些是我的规则。我正在尝试获取列出的目录/子目录,但整个公共目录没有显示。
/public/bootstrap/*
!/public/bootstrap/bower_components/bootstrap/dist/*
!/public/bootstrap/bower_components/bootstrap/dist/**/*
!/public/bootstrap/bower_components/bootstrap/less/variables.less
有什么想法吗?
答案 0 :(得分:8)
您可以按照以下方式执行此操作。句子"You can't unignore more than one level deep per line"
不正确。您可以参考答案here。
/public/bootstrap/**
!/public/bootstrap/**/
!/public/bootstrap/bower_components/bootstrap/dist/**
!/public/bootstrap/bower_components/bootstrap/less/variables.less
答案 1 :(得分:4)
在做了一些阅读和大量试验和错误后,这有效:
/public/bootstrap/bower_components/jquery
/public/bootstrap/bower_components/bootstrap/**
!/public/bootstrap/bower_components/bootstrap/dist/
!/public/bootstrap/bower_components/bootstrap/dist/**
!/public/bootstrap/bower_components/bootstrap/less/
!/public/bootstrap/bower_components/bootstrap/less/variables.less
问题似乎是文档中的这一行:“如果排除该文件的父目录,则无法重新包含文件。”
这似乎与其他答案直接相矛盾,但似乎对我有用。
在我的测试中,我发现你是否忽略了这样:
/public/bootstrap/*
每行不能忽略多个深度。
# doesn't work
!/public/bootstrap/bower_components/bootstrap/
# works
!/public/bootstrap/bower_components/
!/public/bootstrap/bower_components/bootstrap/
答案 2 :(得分:1)
如果你做对了,可以帮助测试的命令行:https://git-scm.com/docs/git-check-ignore
以下CLI:
.gitignore:33:**/.idea/** .idea/bbb.txt
.gitignore:33:**/.idea/** .idea/workspace.xml
.gitignore:35:!**/.idea/runConfigurations/* .idea/runConfigurations/Android_Debug___ReactNative.xml
.gitignore:33:**/.idea/** android/.idea/aaaa.txt
.gitignore:35:!**/.idea/runConfigurations/* android/.idea/runConfigurations/app.xml
输出以下内容:
**/.idea/**
!**/.idea/runConfigurations/
!**/.idea/runConfigurations/*
注意第3行和第5行未被忽略(请注意"!"签名)。
我的.gitignore文件:
{{1}}