我想忽略子目录中的所有.gitignore规则,但root中的.gitignore规则除外.
例如)我已经.gitignore在目录结构中存档了/a.
并且还有.gitignore文件/a/b.假设/a有a.txt b.txt文件.
/a/b有.config文件..gitignore定义.config在/a/b.
.config文件将被忽略.gitignore在/a/b.
但我真的想.config通过忽略.gitignore子目录中的规则来跟踪文件.
可能吗?
提前致谢
sig*_*ine 118
您的问题不太清楚,但如果您想要不同的gitignore规则的子目录,您可以在该目录中创建一个新的.gitignore.
说你有:
project/.gitignore project/stuff/.gitignore
stuff /中的.gitignore将覆盖根目录中的.gitignore.
git help gitignore或者man gitignore有更多关于可能性的信息.
Nic*_*kiy 33
假设您想要包含node_modules在您的存储库中,但是某些模块.gitignore本身就有.您可以通过将以下内容添加到根.gitignore文件来否定规则:
# Make sure to include everything in node_modules.
!node_modules/**
Run Code Online (Sandbox Code Playgroud)
这里问题的关键是排除父目录.来自$ man gitignore:
如果排除该文件的父目录,则无法重新包含文件.出于性能原因,Git不会列出排除的目录,因此无论在何处定义,所包含文件的任何模式都不起作用.
这就是我如何让它发挥作用.鉴于:
/a/...
/b/foo
/c/...
Run Code Online (Sandbox Code Playgroud)
/.gitignore:
/*
!/b
Run Code Online (Sandbox Code Playgroud)
然后/b/foo将显示为包含的文件,而一切/a和/c将被排除在外.权衡的是,您必须为要包含文件的任何目录的所有父项添加否定.
小智 6
据我所知,没有办法做到这一点.由于本地.gitignore将覆盖根ginignore我的解决方法是手动添加.
git add --force [ your file and folder]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
50130 次 |
| 最近记录: |