我有一个网站,/sites/default/files/其中包含通常保留用户内容的目录.确定我不需要跟踪这些东西,我将/ sites/default/files /添加到我的.gitignore文件中.
然后我发现我也希望在该目录中保留一些主要是永久性的上传内容.现在跟踪/ sites/default/files /中的所有内容更有意义,并排除不需要的子目录,而不是反过来做.
问题是Git不会停止忽略该目录.我已从.gitignore中删除了指定此目录的行,但它不会跟踪它.我可以选择使用git add /sites/default/files/ -f强制git来跟踪目录,但我之前已经这样做了,看起来很乱.
如果.gitignore不再指定该目录为忽略,为什么我必须强制Git开始跟踪这些文件?
J-1*_*DiZ 68
你知道怎么做了.是的,git add -f就是这样.
如果你问为什么......这是因为git在assume-unchanged内部设置了一点.这个位让git认为文件没有被修改,所以git add不会添加它.
如果您想搞乱实现细节,可以使用git update-index --no-assume-unchanged <file>命令.
hdg*_*ood 12
我不认为J-16是正确的.来自http://www.kernel.org/pub/software/scm/git/docs/git-add.html:
默认情况下,git add命令不会添加被忽略的文件.如果在命令行中显式指定了任何被忽略的文件,git add将失败并显示被忽略文件的列表.由Git执行的目录递归或文件名通配所达到的忽略文件(在shell之前引用你的globs)将被默默忽略.git add命令可用于使用-f(强制)选项添加被忽略的文件.
git add -f似乎只能是添加一个文件并在忽略文件中存在的地方.
也许在/ sites或/ sites/default中还有另一个.gitignore文件,它也告诉Git忽略这个目录,或者它可能是在.git/info/exclude中设置的?
为了后人:我的问题的答案是“近距离观察”。
@twalberg正确指出,.gitignore文件中可能存在一条我忽略的规则。应用.gitignore规则的级联方式使排除比预期范围更广的文件变得容易。
据我所知,我对git如何工作的假设是正确的。同样,我的案件似乎不支持(或反对)@ J-16 SDiZ关于该assume-unchanged钻头可能起什么作用的评论。
| 归档时间: |
|
| 查看次数: |
33525 次 |
| 最近记录: |