.gitignore 如何拆分为多个文件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
cheneydog
V2EX    git

.gitignore 如何拆分为多个文件?

  •  
  •   cheneydog Sep 14, 2023 3232 views
    This topic created in 969 days ago, the information mentioned may be changed or developed.

    这个文章的第六点有提到一种方法: https://www.python100.com/html/41V3I24XE5OP.html

    我试验了好像不成功,是版本不对还是被忽悠了?

    17 replies    2023-09-15 11:23:46 +08:00
    cheneydog
        1
    cheneydog  
    OP
       Sep 14, 2023
    如果用 IDEA 的话,.idea 目录全都不提交的吧,有什么有用的东西么?为什么大家的忽略规则写那么麻烦,一个一个的忽略。
    hicdn
        2
    hicdn  
       Sep 14, 2023
    可以用 ~/.gitignore_global
    cheneydog
        3
    cheneydog  
    OP
       Sep 14, 2023
    @hicdn 规则还堆在一起呀。不能分为 idea 的,自定义的,java 的,这个么分开么?
    itbeihe
        4
    itbeihe  
       Sep 14, 2023   3
    你问题描述不够清晰,没有描述具体场景,我针对你的问题拆解了 2 个场景,不知道你具体想解决哪个场景?

    场景 1. 项目内需要多个 gitignore 文件?

    这个在官方推荐的《 Git Pro 》中有说明:
    “在最简单的情况下,一个仓库可能只根目录下有一个 .gitignore 文件,它递归地应用到整个仓库中。 然而,子目录下也可以有额外的 .gitignore 文件。子目录中的 .gitignore 文件中的规则只作用于它所在的目录中。 ( Linux 内核的源码库拥有 206 个 .gitignore 文件。)“

    地址: https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%AE%B0%E5%BD%95%E6%AF%8F%E6%AC%A1%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BB%93%E5%BA%93#_ignoring

    场景 2:多个项目都想隐藏同样一批文件,如 mac 的. DS_Store 文件:
    可以通过配置全局忽略文件来实现。
    同样可以参照: https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git#_core_excludesfile

    找个好教材学习 git 真的很有必要。国内二手文章真是坑人。
    dzdh
        5
    dzdh  
       Sep 14, 2023
    itbeihe
        6
    itbeihe  
       Sep 14, 2023
    @cheneydog 自定的,idea 的也就几十行啊,放根 ignore 中呗。然后各自项目放子文件夹,放各自项目里呗。
    oott123
        7
    oott123  
       Sep 14, 2023
    这个网站感觉内容是 AI 生成的……不存在引用其它文件的办法。
    cheneydog
        8
    cheneydog  
    OP
       Sep 14, 2023
    @itbeihe 跟场景 2 接近,但也不是。

    /项目 1
    .gitignore
    idea.gitignore
    python.gitignore

    ---

    /项目 2
    .gitignore
    idea.gitignore
    java.gitignore
    maven.gitignore

    ---

    /项目 3
    .gitignore
    maven.gitignore

    ---

    /项目 4
    .gitignore
    java.gitignore
    python.gitignore
    js.gitignore

    就是想像代码一样分模块写么
    itbeihe
        9
    itbeihe  
       Sep 14, 2023
    @cheneydog 你考虑下现在的常规处理方案

    ├── gitignore_global (用户全局 gitignore )
    ├── 混合项目 git-a
    │ ├── java 子项目
    │ │ └── .gitignore ( java )
    │ ├── js 子项目
    │ │ └── .gitignore ( js )
    ├── .gitignore (+通用)
    ├── 混合项目 git-b
    │ ├── python 子项目
    │ │ └── .gitignore ( python )
    │ ├── js 子项目
    │ │ └── .gitignore ( js )
    │ ├── java 子项目
    │ │ └── .gitignore ( java )
    ├── .gitignore (idea+通用)
    flyqie
        10
    flyqie  
       Sep 14, 2023 via Android   3
    好奇为什么要拆分。。
    yolee599
        11
    yolee599  
       Sep 14, 2023
    试试这个:
    cat idea.gitignore java.gitignore maven.gitignore > .gitignore
    flyqie
        12
    flyqie  
       Sep 14, 2023 via Android
    @yolee599 #11

    楼主说的应该是类似支持 import xxx.gitignore 这样的语法,不是手动合并。
    shawndev
        13
    shawndev  
       Sep 14, 2023
    SmallZheng
        14
    SmallZheng  
       Sep 14, 2023
    @yolee599 #11 再把 .gitignore 加到 .gitignore 里?
    ysc3839
        15
    ysc3839  
       Sep 15, 2023 via Android
    大概是被骗了,他说在 .gitignore 文件中添加来进行引用,但是 git 怎么知道你是要引用还是要忽略那个文件呢?
    目前能实现的是用 git config 设置
    https://mednoter.com/gitignore-global.html
    AoEiuV020JP
        16
    AoEiuV020JP  
       Sep 15, 2023   1
    好奇你的 gitignore 是有几千行?
    fpure
        17
    fpure  
       Sep 15, 2023
    从来没遇到 gitignore 需要拆分的情况
    About     Help     Advertise     Blog     API     FAQ     Solana     6263 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 97ms UTC 03:12 PVG 11:12 LAX 20:12 JFK 23:12
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86