V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
lights
V2EX  ›  git

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

  •  
  •   lights · 2020-01-14 15:51:32 +08:00 · 2133 次点击
    这是一个创建于 1766 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

    11 条回复    2020-01-14 23:30:48 +08:00
    xupefei
        1
    xupefei  
       2020-01-14 15:54:59 +08:00 via iPhone
    写个脚本执行一句 cat csharp.gitignore unity.gitignore > .gitignore ?
    lights
        2
    lights  
    OP
       2020-01-14 15:56:41 +08:00
    @xupefei 这个有考虑呀,但是觉得不优雅,没办法了我再考虑这种操作
    rayhy
        3
    rayhy  
       2020-01-14 15:58:34 +08:00 via Android   ❤️ 1
    gitignore.io 后面加 tag 就行。
    networm
        4
    networm  
       2020-01-14 15:59:33 +08:00 via iPhone   ❤️ 1
    需要把所有的忽略规则写到 .gitignore 中,楼上的方法就可以,还可以使用 https://gitignore.io 生成。
    lights
        5
    lights  
    OP
       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
        6
    networm  
       2020-01-14 17:27:25 +08:00 via iPhone
    @lights 你会为你的懒付出代价的,毕竟不是所有项目的忽略规则都一样,有可能全局忽略里面存在用到的东西,自己测试时没问题,与他人协作时发现缺少文件;也会出现协作时,其他人提交了一大堆你忽略的文件,并且都是大的二进制文件,仓库体积翻了几十倍。请在那个时候再回来回复这个帖子。
    lights
        7
    lights  
    OP
       2020-01-14 18:39:48 +08:00
    @networm 谢谢提醒,人家 stack overflow 的回答我看得懂
    lights
        8
    lights  
    OP
       2020-01-14 18:40:25 +08:00
    @networm 我本机个人开发环境没有协作一说
    Kobayashi
        9
    Kobayashi  
       2020-01-14 20:23:11 +08:00 via Android
    gitignore.io 就是这么干的,拼接文件生成模板。其使用的是基于 github/gitignore 修改版模板 dvcs/gitignore。

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


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

    附用法
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5574 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 01:36 · PVG 09:36 · LAX 17:36 · JFK 20:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.