有一个开源项目https://github.com/github/gitignore 主要用来规范所有开发项目的.gitignore文件的编写,基本涵盖了所有的开发语言、开发环境等。今日我向JetBrains.gitignore提交了一个pull request,希望能在这个文件中增加.iml、.log两行代码的支持,引起了一场讨论。提交的pull request为:https://github.com/github/gitignore/pull/2418  。
      而JetBrains官方也对相关文件是否应该加到.gitignore中给出了意见,官方建议在此:https://intellij-support.jetbrains.com/hc/en-us/articles/206544839  。官方的一些解释如下:

This format is used by all the recent IDE versions by default. Here is what you need to share:
All the files under .idea directory in the project root except the workspace.xml andtasks.xml files which store user specific settings
.idea目录中除了workspace.xml和tasks.xml不需要在开发者之间共享,因为这两个文件保存了用户特定的信息。其他的都应该共享。所以workspace.xml和tasks.xml可以写到.gitignore中,其他的不要写到.gitignore中。

All the .iml module files that can be located in different module directories(applies to IntelliJ IDEA)
所有的.iml文件都应该共享,因为这些文件定位了不同的module目录。

You may consider not to share the following:
.iml files for the Gradle or Maven based projects, since these files will be generated on import
一些基于Gradle、Maven的项目中的.iml文件,因为这些文件会在import的时候生成。

gradle.xml file, see this discussion
gradle.xml文件也不应该被分享。

user dictionaries folder (to avoid conflicts if other developer has the same name)
用户的目录文件夹也不应该被分享。

XML files under .idea/libraries in case they are generated from Gradle or Maven project
.idea/libraries目录下的XML文件也不应该分享,因为它们是由gradle、maven生成的。

其实看了官方的关于.iml的说明,我还是不明白到底是否应该把.iml添加到.gitignore中,感觉官方的解释比较模糊。在有些评论中,开发者建议对于一些文件,可以设置一个local目录,在local目录中的文件是不需要被分享的。各位客官怎么看呢?
---------------------
作者:乞力马扎罗的雪CYF
来源:CSDN
原文:https://blog.csdn.net/chenyufeng1991/article/details/78243849

更多精彩干货详情可关注二维码回复“干货”即可获取

Java开发.gitignore文件包含.iml,.log的看法的更多相关文章

  1. Java开发系列-文件上传

    概述 Java开发中文件上传的方式有很多,常见的有servlet3.0.common-fileUpload.框架.不管哪种方式,对于文件上传的本质是不变的. 文件上传的准备 文件上传需要客户端跟服务都 ...

  2. Java开发中文件读取方式总结

    JAVA开发中,免不了要读文件操作,读取文件,首先就需要获取文件的路径. 路径分为绝对路径和相对路径. 在文件系统中,绝对路径都是以盘符开始的,例如C:\abc\1.txt. 什么是相对路径呢?相对路 ...

  3. Java开发之文件上传

    文件上传有SmartUpload.Apache的Commons fileupload.我们今天介绍Commons fileupload的用法. 1.commons-fileupload-1.3.1.j ...

  4. Unit01: JAVA开发环境

    Top JAVA开发环境 1. JAVA开发环境 1.1. 认识Linux操作系统 1.1.1. Linux的由来及发展 Linux起源于1991年,1995年流行起来,大家可以看到旁边的这个人,它就 ...

  5. jsp的文件包含漏洞

    jsp的文件包含分静态包含的动态包含两种: 静态包含:<%@include file="top.jsp"%> 动态包含:<jsp:include page=&qu ...

  6. 【Java】JavaWeb文件上传和下载

    文件上传和下载在web应用中非常普遍,要在jsp环境中实现文件上传功能是非常容易的,因为网上有许多用java开发的文件上传组件,本文以commons-fileupload组件为例,为jsp应用添加文件 ...

  7. 文件包含漏洞File Inclusion

    文件包含漏洞 目录遍历漏洞在国内外有许多不同的叫法,也可以叫做信息泄露漏洞.非授权文件包含漏洞等. 文件包含分类 LFI:本地文件包含(Local File Inclusion) RFI:远程文件包含 ...

  8. .gitignore详解(附上eclipse的java项目的 .gitignore文件)

    今天讲讲Git中非常重要的一个文件――.gitignore. 首先要强调一点,这个文件的完整文件名就是“.gitignore”,注意最前面有个“.”.这样没有扩展名的文件在Windows下不太好创建, ...

  9. World Wind Java开发之六——解析shape文件(转)

    http://blog.csdn.net/giser_whu/article/details/41647117 最近一直忙于导师项目的事情了,几天没更新了,昨天和今天研究了下WWJ解析shp文件的源代 ...

随机推荐

  1. JobService 7.0 定时任务不生效

    代码 // 构建JobInfo对象,传递给JobSchedulerService JobInfo.Builder builder = new JobInfo.Builder(JOB_ID,new Co ...

  2. leetcode 196. Delete Duplicate Emails 配合查询的delete

    https://leetcode.com/problems/delete-duplicate-emails/description/ 题意要对原来的数据表进行删除,不删除不行,它每次只输出原来那个表. ...

  3. Java方法-对指定信息基于相关维度进行分组

    近期项目中需要针对多种不同来源指定的相同类型内容进行合并,实现过程中需要根据指定的相关维度,对资源内容进行分组,如识别是否可以为同一人员信息,是否为同一个歌曲或影视信息,因此针对实现的具体细节做如下备 ...

  4. HDU 5407——CRB and Candies——————【逆元+是素数次方的数+公式】

    CRB and Candies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  5. NPOI 操作EXCEL 小计

    由于需要做一个生成下载Excel的功能,查了一下  常用的操作有 NPOI Spire DOCX,于是便下载了NPOI试了一下,发现确实好用,但是还是有几个比较坑的地方 1.不能直接删除列 虽然提供了 ...

  6. linux 查看防火墙状态

    1.查看防火墙状态 systemctl status firewalld firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running) 2 ...

  7. Django Rest Framework进阶二

    一.版本 版本控制:当程序越来越大,后期需要再加入一些功能或者进行二次开发时就需要加上版本号了. 之前我们在没有接触rest_framework之前一般是以下这种方式来实现的 class UserVi ...

  8. MotionEvent的getX(),getY()与getRawX(),getRawY()区别

    在Android的View中getX  getRawX获取的坐标是不一样的,只是相对比照的对象不一样而已. 1.在View中: getX()是表示Widget相对于自身左上角的x坐标,而getRawX ...

  9. 关于如何等待一个元素的出现而不用一些笨拙粗暴的time.sleep()方法

    我相信这是一个非常大众化的需求,我们需要等待某一个元素的出现以此来让我们的脚本进入到下一个Step,这个等待方法最好能够设置超时时间,然后找到后迅速callback.我们也很幸运!如果你仔细看Sele ...

  10. ansible使用2-inventory & dynamic inventory

    默认位置 /etc/ansible/hosts 标准 mail.example.com [webservers] foo.example.com bar.example.com [dbservers] ...