gitignore 的 pattern 是否可以来自于某个文件夹下的所有文件里写的 pattern?

2020-01-14 15:51:32 +08:00
 lights

详细表达一下 背景是我在学一门新的语言 C#&Unity,但是 Git 的忽略文件的配置就没有考虑到这两种情况的 gitignore,这个时候发现了一个已经统计好的 gitignore 列表 https://github.com/github/gitignore

但这个列表里的文件是一个一个的,我想把这个仓库 clone 下来,直接设置 git 读取这个仓库里的所有文件来生成忽略规则,但翻 git 的文档( https://git-scm.com/docs/gitignore )发现 gitignore 基本上都只支持从一个文件里读取,而不是从文件夹里读取

所以想请教一下是否还有办法可以读取文件夹的配置,也许我哪里理解错误了,或者看漏了

2134 次点击
所在节点    git
11 条回复
xupefei
2020-01-14 15:54:59 +08:00
写个脚本执行一句 cat csharp.gitignore unity.gitignore > .gitignore ?
lights
2020-01-14 15:56:41 +08:00
@xupefei 这个有考虑呀,但是觉得不优雅,没办法了我再考虑这种操作
rayhy
2020-01-14 15:58:34 +08:00
gitignore.io 后面加 tag 就行。
networm
2020-01-14 15:59:33 +08:00
需要把所有的忽略规则写到 .gitignore 中,楼上的方法就可以,还可以使用 https://gitignore.io 生成。
lights
2020-01-14 16:13:25 +08:00
@rayhy
@networm
谢谢回复,这个网站很好用
另外找到了一个说 best practices 的用法 https://stackoverflow.com/questions/10274424/best-practice-for-using-multiple-gitignore-files
emm……我懒,我还是设置全局的 ignore,哈哈哈哈
networm
2020-01-14 17:27:25 +08:00
@lights 你会为你的懒付出代价的,毕竟不是所有项目的忽略规则都一样,有可能全局忽略里面存在用到的东西,自己测试时没问题,与他人协作时发现缺少文件;也会出现协作时,其他人提交了一大堆你忽略的文件,并且都是大的二进制文件,仓库体积翻了几十倍。请在那个时候再回来回复这个帖子。
lights
2020-01-14 18:39:48 +08:00
@networm 谢谢提醒,人家 stack overflow 的回答我看得懂
lights
2020-01-14 18:40:25 +08:00
@networm 我本机个人开发环境没有协作一说
Kobayashi
2020-01-14 20:23:11 +08:00
gitignore.io 就是这么干的,拼接文件生成模板。其使用的是基于 github/gitignore 修改版模板 dvcs/gitignore。

gitignore.io 给出的方案是每次 curl,ZSH 用户推荐这个插件直接离线获取模板。https://github.com/laggardkernel/git-ignore
bwangel
2020-01-14 23:30:15 +08:00
$ which gi
gi () {
curl -sL https://www.gitignore.io/api/${(j:,:)@}
}


不用整插件啥的,直接写一个函数。
bwangel
2020-01-14 23:30:48 +08:00
$ gi python go >> .gitignore

附用法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/637841

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX