为了账号安全,请及时绑定邮箱和手机立即绑定

解释哪个.gitignore规则忽略了我的文件

解释哪个.gitignore规则忽略了我的文件

Git
犯罪嫌疑人X 2019-08-15 15:21:25
解释哪个.gitignore规则忽略了我的文件有没有办法看到为什么一些文件被git忽略(即.gitignore文件中的哪个规则导致文件被忽略)?想象一下,我有这个(或更复杂的场景,有数百个文件夹和数十个.gitignore文件:/-.gitignore-folder/     -.gitignore     -subfolder/               -.gitignore               -file.txt如果我运行git add folder/subfolder/file.txtgit可能会抱怨它被忽略:The following paths are ignored by one of your .gitignore files:folder/subfolder/file.txtUse -f if you really want to add them.有没有办法知道哪一个可能.gitignore有规则忽略这个文件,还显示规则?喜欢:The following paths are ignored by your folder/.gitignore file (line 12: *.txt)folder/subfolder/file.txtUse -f if you really want to add them.要不就:$ git why-is-ignored folder/subfolder/file.txtfolder/.gitignore:12:*.txt
查看完整描述

3 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

git check-ignore -v filename

有关更多详细信息,请参见手册页

原始答案如下:

git目前不提供此类内容。但在看到你的问题后,我做了一些谷歌搜索,发现在2009年,这个功能被要求并部分实施。在阅读完线程之后,我意识到要正确地完成这项工作并不会太多,所以我已经开始研究补丁并希望在接下来的一两天内完成。我准备好后会更新这个答案。

更新:哇,这比我想象的要难得多。git排除处理的内脏非常神秘。无论如何,这是一个几乎完成的一系列提交,适用于今天的上游master分支。测试套件已完成99%,但我还没有完成--stdin选项的处理。希望我能在本周末管理它,然后将我的补丁提交到git邮件列表。

与此同时,我绝对欢迎任何能够这样做的人进行测试 - 只需从我的gitfork中克隆,检查check-ignore分支,并正常编译它。

更新2:已经完成了!最新版本在github上面,如上所述,我已经将补丁系列提交到git邮件列表进行同行评审。让我们看看他们的想法......

更新3:经过几个月的黑客攻击/补丁评论/讨论/等待,我很高兴能够说这个功能现已达到git的master分支,并将在下一个版本中提供(1.8.2,预计8日2013年3月)。这是check-ignore手册页。哎呀,这比我想象的要多得多!

更新4:如果您对这个答案如何演变以及该功能的实现感兴趣,请查看GitMinutes播客的第32集


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 1057 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信