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

.idea 上传到 git 么?

  •  
  •   Nnq · Mar 14, 2023 · 11298 views
    This topic created in 1331 days ago, the information mentioned may be changed or developed.

    想问下大家用 intellij 的会把这个.idea 在上传到 git repo 时候忽略掉么?

    还是为了保证大家有一样的配置,会直接上传呢?

    Supplement 1  ·  Mar 14, 2023
    看到大家的留言看来是真的是各种情况都有 :

    我的第一直觉是这个文件夹就和之前 eclipse 的配置文件一样,是不需要上传的。 上传了每当其他人修改一些本地 IDE 配置,无意中会直接推动到 remote 的 repo 中,然后别人一个更新,最后直接就莫名其妙的用上了别人的配置信息。

    现在有些公司在通过这些文件来配置些 code style 还有一些其他信息。
    Supplement 2  ·  Mar 14, 2023
    🙏大家的积极参与,我从评论中抓取了一些比较🈶️代表性的发言,供大家参考

    from @Hyduan:

    https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems

    JetBrains Team 的建议,我选择按根据自动生成的 .idea 内的 gitignore 进行部分上传

    from @dcsuibian :
    不传
    1 、如果你的.gitignore 是 spring-boot 生成或 git clone 下来的项目中的,那么多半.idea 就已经在规则里了,已经有了不少实践
    2 、虽然 JetBrains 的程序很流行,但并不应该限制对方使用同样的 IDE (受开源影响)
    3 、就算部分可以传,但我也没兴趣研究 IDEA 的配置 xml ,万一不同版本不兼容呢
    4 、使用专用的配置文件(比如.prettierrc )和文档来配环境要专业、清晰得多

    from @mxT52CRuqR6o5:

    微软的仓库
    github.com/microsoft/vscode
    Google 的仓库
    github.com/angular/angular
    Facebook 的仓库
    github.com/facebook/lexical
    都有把 ide 配置文件上传到仓库的 case ,都不专业是吧😅
    碰到把 ide 配置文件上传到 git 仓库就要批判别人的专业性,也不知道底是谁不专业,谁没见识

    from @Dlin :

    idea 里面可能会包含 artifacts 的配置,如果不加入,没有写明文档打情况下,一些开发者可能不清楚怎么运行这个项目,例如只是打包一个 springboot 可以扫描到的 jar 包,这个 jar 包实际上并不需要有一个 springboot 的 lanuch ,只需要个别部署环境没有的依赖,那就需要保留这个到 idea 中,因为你不可能让他再来分析一次需要哪些依赖项,甚至他都不知道这个应该打成一个 jar 包

    from @ranleng

    根据这个 Article
    https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

    理论应该有些文件需要被提交到 git 上的,
    不知道会有啥坑不

    from @securityCoding :
    如果有人把.idea 上传到仓库我会质疑他的专业性
    87 replies  •  2023-03-16 20:33:34 +08:00
    mobaijun
    mobaijun
    Mar 14, 2023
    1
    忽略,每个 idea 都会为项目生成一个.idea 文件,这个文件夹是根据项目自动生成的
    handuo
    handuo
    Mar 14, 2023
    2
    看个人和公司要求吧,正常来说团队的使用是要排除掉 idea 的
    yyfearth
    yyfearth
    Mar 14, 2023
    3
    看情况 一般会 ignore
    但是里面有些文件不太变化 又并且整个 team 要保留的话
    比如 launch 相关的配置
    还是可以放到 git 里面的 方便以后使用或者给别人使用
    vscode 同理
    securityCoding
    securityCoding
    Mar 14, 2023 via Android❤️31
    4
    如果有人把.idea 上传到仓库我会质疑他的专业性
    chendy
    chendy
    Mar 14, 2023❤️1
    5
    某些特殊项目可以利用.idea 同步一些项目配置
    大多数情况下都是直接 ignore
    kingfalse
    kingfalse
    Mar 14, 2023 via Android
    7
    大多数情况传了就是等着挨骂
    vela
    vela
    Mar 14, 2023
    8
    没特殊理由,建议 ignore 。
    pengtdyd
    pengtdyd
    Mar 14, 2023
    9
    如果有人把.idea 上传到仓库我会质疑他的专业性
    xuanbg
    xuanbg
    Mar 14, 2023
    10
    排除掉,传上去会挨骂的。
    zhlxsh
    zhlxsh
    Mar 14, 2023 via iPhone
    11
    如果有人把.idea 上传到仓库我会质疑他的专业性
    chotow
    chotow
    Mar 14, 2023 via iPhone❤️4
    12
    从某个版本开始,.idea 下内置了 .gitignore 文件,没被忽略的看起来都是可共享的配置 🤔
    garlics
    garlics
    Mar 14, 2023
    13
    @chotow 是的,而且 intellij 还弹窗告诉说可以追踪.idea 文件,不过具体我没看,也没详细研究 intellij 这么做的目的,但是 intellij 加了这个功能肯定有他使用的场景。
    ranleng
    ranleng
    Mar 14, 2023❤️1
    14
    根据这个 Article
    https://intellij-support.jetbrains.com/hc/en-us/articles/206544839

    理论应该有些文件需要被提交到 git 上的,
    不知道会有啥坑不
    Yeen
    Yeen
    Mar 14, 2023❤️1
    15
    1 和项目源码无关,才单独放到.这种文件夹里。
    2 耦合本地环境。
    3 耦合个人特征。

    除非是你强迫其他人吃你的 dogfood 。不然别传。
    sxfscool
    sxfscool
    Mar 14, 2023
    16
    独立开发可以,team 就算了
    iamqida
    iamqida
    Mar 14, 2023
    17
    部分文件和环境无关的文件是可以考虑提上去的,但是不如写一个指导书或者单独共享配置方案
    Dlin
    Dlin
    Mar 14, 2023❤️2
    18
    idea 里面可能会包含 artifacts 的配置,如果不加入,没有写明文档打情况下,一些开发者可能不清楚怎么运行这个项目,例如只是打包一个 springboot 可以扫描到的 jar 包,这个 jar 包实际上并不需要有一个 springboot 的 lanuch ,只需要个别部署环境没有的依赖,那就需要保留这个到 idea 中,因为你不可能让他再来分析一次需要哪些依赖项,甚至他都不知道这个应该打成一个 jar 包
    Dlin
    Dlin
    Mar 14, 2023
    19
    所以我认为是按需添加到,不是无脑全部忽略掉。
    layxy
    layxy
    Mar 14, 2023
    20
    不传,覆盖别人的项目配置有时候会给别人造成困扰,甚至麻烦
    cutiechi
    cutiechi
    Mar 14, 2023
    21
    按需,里面的一些文件需要
    dif
    dif
    Mar 14, 2023
    22
    一般不会。。。
    EastLord
    EastLord
    Mar 14, 2023
    23
    一般不会,但是也有上传的。
    参考这个: https://github.com/apache/calcite
    angryPHP
    angryPHP
    Mar 14, 2023
    24
    不会,我尊重别人的 idea
    RainCats
    RainCats
    Mar 14, 2023
    25
    传上去就是挨骂,这种 idea 的东西有啥好传的,你要保持什么一致? idea 的编码设置还是什么其他的
    hakuya7
    hakuya7
    Mar 14, 2023
    26
    那.vscode 也是同理咯?
    realpg
    realpg
    Mar 14, 2023
    27
    @pengtdyd #9
    不用 idea ,但是这个不能一刀切死
    按照别的系统的配置文件逻辑,如果 ide 的配置文件是一个目录的多个文件,而不是一个单文件,可能会有一些特殊设置

    传的不是下面的全部文件,是一个两个文件,自定义一些特殊的参数,一些特殊的语法糖识别,比如让编译器怎么处理,比如语法检查跳过一些东西之类的配置,

    这场景一般是传一两个非主文件,能兼容每个人的 ide 配置,而不是传全部的 ide 文件
    LieNoWell
    LieNoWell
    Mar 14, 2023
    28
    同问: .fxckme 目录需要上传到 git 么,因为我用 FxckMeIDE 而不是全家桶。
    maotao456
    maotao456
    Mar 14, 2023
    29
    如果有人把.idea 上传到仓库我会质疑他的专业性
    xFrye
    xFrye
    Mar 14, 2023
    30
    本地的配置为什么要上传到仓库去?是很享受解决.idea 文件夹的里的配置冲突么
    arischow
    arischow
    Mar 14, 2023 via iPhone
    31
    .idea 会存 run configurations ,我觉得是适合分享的,虽然我没有这么做。
    iseki
    iseki
    Mar 14, 2023 via Android❤️1
    32
    保留 codeStyle 文件,其他目前没看到需要上传的,ci 检查格式化留着这个有用
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 14, 2023 via Android
    33
    https://github.com/microsoft/vscode
    Vscode 仓库就把.vscode 文件夹传上去了,😅传了就不专业是吧
    youmilk
    youmilk
    Mar 14, 2023
    34
    不传,默认 ignore 。
    lopda
    lopda
    Mar 14, 2023
    35
    看到质疑😂你确定组内协作完全用不到吗。
    HangoX
    HangoX
    Mar 14, 2023❤️1
    36
    这个不是绝对的,看文件内容,我一般是 filter 掉整个.idea 文件夹,部分文件上传,比如 word 还有配置信息这些,主要是看文件是否是每台机器使用都会被修改
    sola97
    sola97
    Mar 14, 2023
    37
    公司有些项目传了,每次打开都要手动删一遍.iml 文件和.idea 文件夹
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 14, 2023 via Android❤️12
    38
    微软的仓库
    github.com/microsoft/vscode
    Google 的仓库
    github.com/angular/angular
    Facebook 的仓库
    github.com/facebook/lexical
    都有把 ide 配置文件上传到仓库的 case ,都不专业是吧😅
    碰到把 ide 配置文件上传到 git 仓库就要批判别人的专业性,也不知道底是谁不专业,谁没见识
    ZeroDu
    ZeroDu
    Mar 14, 2023❤️1
    39
    楼上有些,讨论的是.idea 就不要提.vscode 了;

    一般来说不上传,每个人配置不一样。
    lopda
    lopda
    Mar 14, 2023
    40
    @HangoX 赞同!👍
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 14, 2023 via Android❤️2
    41
    @ZeroDu
    Vscode 的 ide 配置传得,jetbrains 的 ide 配置传不得
    啊 q 正传是吧:和尚摸得,我摸不得
    clrss
    clrss
    Mar 14, 2023
    42
    我偷懒全部排除了, 但看起来有些是可以包括进 repo 的.

    上面的复读机别太绝对.
    RealYourDad
    RealYourDad
    Mar 14, 2023
    43
    个人项目,我觉得上传上去没啥问题,方便换台电脑也能用之前的配置。但是如果是团队项目,绝对不要传自己的配置,你的配置和别人的配置可能会有冲突,这不合适。
    kongkongyzt
    kongkongyzt
    Mar 14, 2023
    44
    问题是组里有的人用的 jetbrian ,但是有的人用的是 vscode ,甚至有的人用的是一些不知道哪里来的第三方 IDE
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 14, 2023❤️1
    45
    @kongkongyzt
    .idea 又不会影响 vscode 和不知道哪里来的第三方 IDE ,只要 jetbrian 用户大于等于 2 个,把配置文件传上去就是有价值的
    @zaunist
    团队协作上传 ide 配置才更能体现价值啊,比如 codestyle 配置文件,在每个人的电脑上理应是一模一样的,ide 的 codestyle 配置文件就可以上传到 git ,更有利于协作
    gowk
    gowk
    Mar 14, 2023
    46
    同样 .vscode 文件夹传不传呢?
    unco020511
    unco020511
    Mar 14, 2023
    47
    当然要忽略啊
    lyxeno
    lyxeno
    Mar 14, 2023❤️1
    48
    官方说里面部分文件为了团队协作可以传,不过我感觉没必要传上去。于是全部忽略了
    hsfzxjy
    hsfzxjy
    Mar 14, 2023 via Android
    49
    有些项目的 prettier 和 intellisense 配置比较难,传部分.vscode 或.idea 可以降低上手的难度
    iseki
    iseki
    Mar 14, 2023❤️1
    50
    /.idea/codeStyles 最好是传的
    dcsuibian
    dcsuibian
    Mar 14, 2023
    51
    不传
    1 、如果你的.gitignore 是 spring-boot 生成或 git clone 下来的项目中的,那么多半.idea 就已经在规则里了,已经有了不少实践
    2 、虽然 JetBrains 的程序很流行,但并不应该限制对方使用同样的 IDE (受开源影响)
    3 、就算部分可以传,但我也没兴趣研究 IDEA 的配置 xml ,万一不同版本不兼容呢
    4 、使用专用的配置文件(比如.prettierrc )和文档来配环境要专业、清晰得多
    IvanLi127
    IvanLi127
    Mar 14, 2023 via Android
    52
    看别人愿不愿意和你共享配置咯,我一般就看项目是不是基本上我写,是的话就传上去了,避免换个环境就得配一次。
    而且 ide 配置还是很有价值,最好能团队共享同一个配置。对了,这可不是什么“本地”的环境配置,这是项目为这个 IDE 做的配置!
    WispZhan
    WispZhan
    Mar 14, 2023❤️2
    53
    可以传部分,但是需要排除本地化配置。
    所谓本地化配置就是,带有本地化路径的配置文件,这类文件传给别人就是害人。
    但是如果.idea 里基于 project 的约束性配置,是可以共享的。比如 code style, format, template, copyright 等等

    同理.vscode 目录也是

    楼上的二极管们真多
    viggoc
    viggoc
    Mar 14, 2023
    54
    是有一些项目会传 .idea 的,比如 [elasticsearch]( https://github.com/elastic/elasticsearch)
    500
    500
    Mar 14, 2023
    55
    @securityCoding 我第一反应也是这样🤣
    sprite82
    sprite82
    Mar 14, 2023
    56
    不传,所谓的代码风格,格式化等信息,全用 idea 默认的
    nightwitch
    nightwitch
    Mar 14, 2023 via Android
    57
    有一些 config 可以方便刚入职的同事拖下来一键跑起来,但是这些配置可能会不符合老同事的习惯。
    www5070504
    www5070504
    Mar 14, 2023
    58
    被覆盖配置我想喷
    QingXuJiaZhi
    QingXuJiaZhi
    Mar 14, 2023
    59
    其实很简单:

    1. 个人项目是否同步 .idea, 自己决定( JetBrains 建议同步)
    2. 团队项目是否同步 .idea, 看一下之前有没有,或者在团队内问一句就可以了。

    上面有些人一口咬定不能同步 .idea 并且带着鄙视的语气,实在没必要。
    ianEros
    ianEros
    Mar 14, 2023
    60
    我们有个项目不知道被谁把.idea 传上去了。。每次更新或者回滚代码 maven 还有一些配置都会失效
    clf
    clf
    Mar 14, 2023
    61
    上传上去大概率是因为 IDEA 创建项目时生成的.gitignore 文件里只排除了一部分的配置文件?

    其实同步没啥问题,别全同步,全同步会有个人配置导致其他人使用出现问题。
    koebehshian
    koebehshian
    Mar 14, 2023
    62
    其实很简单,自动生成的代码不要上传就行,手写的就可以
    xiangyuecn
    xiangyuecn
    Mar 14, 2023
    63
    见过提交 node_modules 的
    levon
    levon
    Mar 14, 2023
    64
    要不要上传先搞清楚.idea 是干什么的比较靠谱
    Hyduan
    Hyduan
    Mar 14, 2023
    65
    https://intellij-support.jetbrains.com/hc/en-us/articles/206544839-How-to-manage-projects-under-Version-Control-Systems

    JetBrains Team 的建议,我选择按根据自动生成的 .idea 内的 gitignore 进行部分上传
    wuweijia
    wuweijia
    Mar 14, 2023
    67
    Wanex
    Wanex
    Mar 14, 2023
    68
    为了团队协作可以传,比如是开源项目,你想让别人贡献代码的时候统一 ide 的配置,比如说 vscode 的一些配置,就可以把 .vscode 传上去,这样做可以更好地确保项目中代码风格的一致性。
    AliMaster
    AliMaster
    Mar 14, 2023
    69
    owner 的话会上传 codeStyle ,编码之类的,非 owner 不会
    lisxour
    lisxour
    Mar 14, 2023
    70
    @lzgshsj 他们都是瞎说的,得看实际情况,可能会对个别文件开放同步,比如我大部分都是
    .vscode/*
    !.vscode/launch.json
    !.vscode/tasks.json

    也会有整个.vscode 文件夹忽略的项目
    zed1018
    zed1018
    Mar 14, 2023
    71
    别的种类的项目我不知道,spring-boot 项目我想不到.idea 上传的理由,别说什么 JDK ,那玩意儿你在一个路劲他在一个路径,甚至你们可能一个正斜杠一个反斜杠。剩下比如 gradle ,直接改 project default 配好,新项目 import 之前设置一下 project sdk ,build 完基本就有一个能跑的 run configuration 了。
    zpf124
    zpf124
    Mar 14, 2023
    72
    需要传的各位是不是所以项目里最好全都兼容一下啊,吧 .eclipose 、.idea 、.vscode 都传上去啊,要不你这格式化参数对于有些特立独行或者不想用盗版的人不友好啊。

    给各位要传 代码约束规范的推荐一个东西 .editorconfig 各个 IDE 都支持或者有插件支持
    doyel
    doyel
    Mar 14, 2023
    73
    传不传,传什么完全是看项目实际情况的。。。这有什么好吵的啊,小作坊小团队的传了大家都不要干活了。
    公司有标准开发平台、环境的,按项目需求全 Thin Client 标准化开发环境的,当然就可以传了
    glfpes
    glfpes
    Mar 14, 2023
    74
    哈哈,刚刚把应届生上传的.idea/删掉
    mazai
    mazai
    Mar 14, 2023❤️1
    75
    .idea 是 idea 的配置文件,每个人的 idea 配置不一样。有的公司会统一一些配置,但不是所有配置都上传。
    qwerthhusn
    qwerthhusn
    Mar 14, 2023
    76
    只要别传 target/就行
    Nnq
    Nnq
    OP
    Mar 14, 2023
    77
    @qwerthhusn 你还别说 我还真见过传 jar 的,更搞笑的是人家打包要手动把 jar 考到一个特定的地点然后打包,不知道用 profil
    statumer
    statumer
    Mar 14, 2023❤️1
    78
    @mxT52CRuqR6o5 #45 不要混淆视听,这两者有很大区别。`.vscode/settings.json`, `.vscode/launch.json` 都是开发者手写的,所以开发者很清楚这里面的内容是否适合作为开源仓库的一部分,这些配置文件的内容和格式是清楚的,可以被作为开源仓库的一部分由社区维护。但是几乎所有人的 `.idea` 都是 IDE 工具自动生成的,开发者并不清楚里面的内容是否适宜被公开,是否适宜作为开源仓库的一部分被维护,是否会为其他社区协作者带来困扰。
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 14, 2023
    79
    @statumer jetbrain 官方都指导了,哪些可以传哪些不能传,我是说不出「如果有人把.idea 上传到仓库我会质疑他的专业性」这种话来
    wxlwsy
    wxlwsy
    Mar 14, 2023
    80
    用 maven,只传代码+pom,其他一律忽略
    fan123199
    fan123199
    Mar 14, 2023
    81
    团队全部用 idea 就按需要传。其他情况就忽略
    zhuweiyou
    zhuweiyou
    Mar 14, 2023
    82
    一律 ignore, 如果是处于 code style 考虑, 更不应该使用 .idea / .vscode 来配置, 这样就绑定编辑器了, 我非得用这个编辑器才能参与项目?
    zhaogaz
    zhaogaz
    Mar 15, 2023
    83
    怎么说呢。。

    如果不清楚有什么效果,就别上传。如果弄清楚了随便搞。。。

    没啥绝对的。。。很简单。
    petercui
    petercui
    Mar 15, 2023
    84
    @securityCoding 不传我才会质疑他的专业性,有些配置就是要团队共享的。
    petercui
    petercui
    Mar 15, 2023❤️2
    85
    @pengtdyd
    @zhlxsh
    @maotao456
    @paulluis2dev

    不传我才会质疑他的专业性,.idea 目录下有哪些文件,都是干什么的都不清楚。有些配置就是要团队共享的。
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Mar 15, 2023 via Android
    86
    @zhuweiyou
    如果一个项目没有.vscode 没有.idea 你能不能用 vscode 参与项目?现在多了一个.idea 你就不能参与项目了?
    zhuweiyou
    zhuweiyou
    Mar 16, 2023
    87
    @mxT52CRuqR6o5 不能用那个 code style 了.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1737 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 143ms · UTC 23:44 · PVG 07:44 · LAX 15:44 · JFK 18:44
    ♥ Do have faith in what you're doing.