- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个名为/static 的目录。里面有很多子目录。我需要忽略/static/目录的所有子目录中的所有文件,除了 .htaccess、null.jpg 和 index.php 文件。请告诉我此操作的正确语法是什么?
/static/**
!/static/**/.htaccess
和
/static/*
!/static/*/.htaccess
不工作。
最佳答案
正如我在“Including specific file extension in gitignore”中提到的,要记住的主要规则是:
It is not possible to re-include a file if a parent directory of that file is excluded. (
*
)
(*
: unless certain conditions are met in git 2.?+, see below)
这就是为什么任何忽略文件夹的规则(如 *
或 */
)都无法排除任何子文件。
这就是为什么正确的方法是排除所有内容,除了:
如果你不先排除文件夹,你的文件仍然会被忽略(因为我上面提到的规则)
所以在你的 .gitignore
中添加:
/static/**/**
!/static/**/
!.gitignore
!.htaccess
这已通过 Git 2.4.1 测试,甚至可以在 Windows 上运行。
请注意,使用 git 2.9.x/2.10(2016 年年中?),如果文件的父目录被排除在外,则可能会重新包含该文件 if there is no wildcard in the path re-included .
Nguyễn Thái Ngọc Duy (pclouds
)正在尝试添加此功能:
但是,由于其中一个条件是“重新包含规则中的目录部分必须是文字(即没有通配符)”,因此无论如何您都不能在此处使用该功能。
关于Gitignore 排除所有子目录中的某些文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30472628/
引用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
我是一名优秀的程序员,十分优秀!