在Git的回购故障未忽略以前被忽略的文件(Trouble un-ignoring previousl

2019-06-25 15:23发布

我有有一个网站/sites/default/files/目录,用户的内容通常被保持。 盘算,我不需要被跟踪这个东西,我添加/网站/默认/文件/我的.gitignore文件。

后来我发现,我也想保留一些主要永久上传在该目录中。 现在,它更有意义,以跟踪/网站/默认/文件的一切/并排除不良的子目录,而不是周围做它的其他方式。

问题是混帐不会停止忽略该目录。 我已删除了的.gitignore指定该目录的线条,它不会跟踪它。 我不得不使用选项git add /sites/default/files/ -f强制git的跟踪目录,但我没有做过,似乎凌乱。

如果的.gitignore不再指定目录忽略,我为什么非要逼的Git开始跟踪这些文件?

Answer 1:

你知道该怎么做了。 是的, git add -f是这样的。

如果你问为什么?这是因为git的设置assume-unchanged位内部。 该位使混帐认为文件不会被修改,所以git add不会增加它。

如果你想惹的实现细节,你可以使用git update-index --no-assume-unchanged <file>命令。



Answer 2:

我不认为J-16是正确的。 从http://www.kernel.org/pub/software/scm/git/docs/git-add.html :

git的add命令默认情况下不会加忽略的文件。 如果在命令行上明确指定的任何忽略的文件,git的添加将失败,并忽略的文件列表。 通过目录递归或文件名达到或忽略的文件通过通配符的Git(报价前壳的水珠)将被忽略执行。 git的add命令可以用来添加使用-f(强制)选项忽略的文件。

git add -f似乎只能是添加, 在忽略文件中存在某个文件。

也许,这/网站或/网站另一个的.gitignore文件/默认这也告诉混帐忽略这个目录,也可能是在git的/信息被设置/排除?



Answer 3:

对于后人:回答我的问题“只是仔细看”。

@twalberg指出,正确的,有可能是我在.gitignore文件以俯瞰的规则。 在应用了的.gitignore规则级联的方式可以很容易地更广泛地比预期排除文件。

据我所知道的,假设我是在对git的工作原理是正确的。 同样,我的情况似乎并不支持(或否定)@什么作用J-16 SDiZ的评论assume-unchanged位可以玩。



Answer 4:

我们在Drupal的站点目录中有一个非常类似的问题。 问题是,Drupal分布有较高水平的Drupal目录的.gitignore文件,该文件在Drupal /网站/文件匹配任何东西/ *



文章来源: Trouble un-ignoring previously ignored files in Git repo
标签: git gitignore