git
› Pro Git
› Atlassian Git Tutorial
› Pro Git 简体中文翻译
› GitX
cheneydog
V2EX  ›  git

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

  •  
  •   cheneydog · Sep 14, 2023 · 3814 views
    This topic created in 1149 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
    cheneydog
    OP
    Sep 14, 2023
    1
    如果用 IDEA 的话,.idea 目录全都不提交的吧,有什么有用的东西么?为什么大家的忽略规则写那么麻烦,一个一个的忽略。
    hicdn
    hicdn
    Sep 14, 2023
    2
    可以用 ~/.gitignore_global
    cheneydog
    cheneydog
    OP
    Sep 14, 2023
    3
    @hicdn 规则还堆在一起呀。不能分为 idea 的,自定义的,java 的,这个么分开么?
    itbeihe
    itbeihe
    Sep 14, 2023❤️3
    4
    你问题描述不够清晰,没有描述具体场景,我针对你的问题拆解了 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
    dzdh
    Sep 14, 2023
    5
    itbeihe
    itbeihe
    Sep 14, 2023
    6
    @cheneydog 自定义的,idea 的也就几十行啊,放根 ignore 中呗。然后各自项目放子文件夹,放各自项目里呗。
    oott123
    oott123
    Sep 14, 2023
    7
    这个网站感觉内容是 AI 生成的……不存在引用其它文件的办法。
    cheneydog
    cheneydog
    OP
    Sep 14, 2023
    8
    @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
    itbeihe
    Sep 14, 2023
    9
    @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
    flyqie
    Sep 14, 2023 via Android❤️3
    10
    好奇为什么要拆分。。
    yolee599
    yolee599
    Sep 14, 2023
    11
    试试这个:
    cat idea.gitignore java.gitignore maven.gitignore > .gitignore
    flyqie
    flyqie
    Sep 14, 2023 via Android
    12
    @yolee599 #11

    楼主说的应该是类似支持 import xxx.gitignore 这样的语法,不是手动合并。
    shawndev
    shawndev
    Sep 14, 2023
    13
    SmallZheng
    SmallZheng
    Sep 14, 2023
    14
    @yolee599 #11 再把 .gitignore 加到 .gitignore 里?
    ysc3839
    ysc3839
    Sep 15, 2023 via Android
    15
    大概是被骗了,他说在 .gitignore 文件中添加来进行引用,但是 git 怎么知道你是要引用还是要忽略那个文件呢?
    目前能实现的是用 git config 设置
    https://mednoter.com/gitignore-global.html
    AoEiuV020JP
    AoEiuV020JP
    Sep 15, 2023❤️1
    16
    好奇你的 gitignore 是有几千行?
    fpure
    fpure
    Sep 15, 2023
    17
    从来没遇到 gitignore 需要拆分的情况
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2191 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 13:22 · PVG 21:22 · LAX 05:22 · JFK 08:22
    ♥ Do have faith in what you're doing.