- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
有什么方法可以查看为什么某些文件被 git 忽略(即 .gitignore
文件中的哪个规则导致文件被忽略)?
想象一下我有这个(或更复杂的场景,有数百个文件夹和数十个 .gitignore
文件:
/
-.gitignore
-folder/
-.gitignore
-subfolder/
-.gitignore
-file.txt
如果我运行 git add folder/subfolder/file.txt
git 可能会提示它被忽略了:
The following paths are ignored by one of your .gitignore files:
folder/subfolder/file.txt
Use -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.txt
Use -f if you really want to add them.
或者只是:
$ git why-is-ignored folder/subfolder/file.txt
folder/.gitignore:12:*.txt
最佳答案
git check-ignore -v filename
参见 the man page了解更多详情。
原回答如下:
git 目前不提供这样的东西。但在看到你的问题后,我做了一些谷歌搜索,发现早在 2009 年 this feature was requested and partially implemented .读完帖子后,我意识到正确地完成它并不会太多工作,所以我已经开始着手制作补丁,希望在接下来的一两天内完成。准备就绪后,我会更新此答案。
更新:哇,这比我预期的要难得多。 git
的排除处理的内部结构非常神秘。不管怎样,这里是an almost finished series of commits适用于今天的上游 master
分支。测试套件已完成 99%,但我还没有完成 --stdin
选项的处理。希望这个周末我能解决这个问题,然后将我的补丁提交到 git 邮件列表。
与此同时,我绝对欢迎任何能够这样做的人进行测试 - 只需从 my git
fork 克隆即可。 , 检查 check-ignore
分支,并正常编译它。
更新 2: 完成了!最新版本在 github 上,我有 submitted the patch series to the git mailing list供同行评审。让我们看看他们是怎么想的......
更新 3: 经过几个月的黑客攻击/补丁审查/讨论/等待,我很高兴能够这样说 this feature has now reached git's master
branch ,并将在下一版本(1.8.2,预计 2013 年 3 月 8 日)中可用。这是 check-ignore
manual page .哇,这比我预期的要多得多!
更新 4:如果您对这个答案如何演变以及该功能如何实现的完整故事感兴趣,请查看 episode #32 of the GitMinutes podcast .
关于git - 解释哪个 gitignore 规则忽略了我的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144633/
引用the online docs : If the pattern does not contain a slash /, Git treats it as a shell glob pattern
我想让 git 忽略名为“Doxyfile”的文件,我添加了一个 .gitignore 文件,但它仍然会尝试跟踪文件。 我在下面添加了我的步骤,我是否遗漏了一个步骤? $ ls -a .git
我知道有很多这样的问题,但没有人解决我的问题。我想要一些非常简单的东西 - 忽略特定文件夹下除一个文件之外的所有文件和文件夹。这是我尝试的方法: #Ignore public/typings/* #A
我一直在使用 git,但仍然对 .gitignore 文件路径感到困惑。 那么,.gitignore文件中以下两个路径有什么区别? tmp/*public/documents/**/* 我可以理解 t
这可能吗? git update-index --assume-unchanged 不是解决方案,必须跟踪忽略的文件。要么创建子模块。 例如 cat .customgitignore(1|2|3...
我的实际问题 我希望只有目录结构根目录中的 .gitignore 文件会忽略文件,即子目录中的 .gitignore 文件不应忽略文件。 要清楚 我不想 gitignore 其他 .gitignore
当我输入 git status 时,我收到以下消息: Changes not staged for commit: (use "git add ..." to update what will b
$ cat ~/.gitconfig [core] editor = vim excludefiles = /home/augustin/.gitignore $ ca
有没有办法忽略 gitignore 规则但仍然 checkin .gitignore 文件?或者也许我们应该使用不同的实现? 这不是一个关于如何应用 gitignore 规则或“为什么我的规则不能正常
我的目录结构如下: static admin ajax_upload books css font media robots.txt templ
为什么 git 不忽略 .gitignore?这是错误还是功能?我看不出有任何人愿意分享 .gitignore 文件的原因。不得不在 .gitignore 中添加 .gitignore 感觉有点讽刺。
我正在和别人合作一个项目,根目录下有一个.gitignore是提交给git的。如果我想在 root 中创建一个我希望 git 忽略的新文件或目录,但我不想将它放在公共(public) .gitigno
如果我有一个全局的 .gitignore 设置并且项目在 repo 中有 .gitignore,那么 repo 中的那个是否覆盖全局的或者它是否添加规则示例: 如果全局有: *.exe *.ini 并
是否可以将 .gitignore 文件添加到 .gitignore 本身? .gitignore 虽然没用 我不想在编辑的文件中看到它 最佳答案 .gitignore 文件的目的是防止在项目上协作的每
我们在这里进行了一次内部讨论,我们对在包含大量文件的项目(如 CMS)上使用 .gitignore 的最佳实践感到有些困惑。 方法一 方法 1 是有目的地 .gitignore 构建标准的所有文件。这
在 https://github.com/codyc4321/Flashcard-Generator我有一个文件,我想将 HTML 生成器拆分为它自己的函数。 该文件位于 js/main.js 中。此
我正在为 Gr 制作游戏。和我的 friend 一起学习了 12 门编程类(class)。我在本地存储库中有在 Blender 中制作的 3D 模型。 Blender 文件以 .blend 结尾,它也
如果我有set a global .gitignore file我的项目也有一个 .gitignore 文件,它们都包含不同的内容,我的项目中是否使用了它们的条目? 最佳答案 是的。 他们将一起忽略他
在项目根目录中,我有一个 .gitignore 文件,它会忽略除 gitignore 文件之外的所有内容。这是文件的内容: **/* !.gitignore 然后在 implementation/xm
我想知道是否可以在存储库中包含named .gitignore 文件,例如: Composer.gitignore Node.gitignore 以上两个示例都显示在 GitHub 的 gitigno
我是一名优秀的程序员,十分优秀!