Git配置Java开发环境的.gitignore文件
一、为什么要配置.gitignore?
在使用git管理java项目时,如果没有配置.gitignore,会把除源代码之外其它的一些无关文件也同步到代码仓库,会造成以下问题:
- 影响代码的整洁度,代码仓库应该只放源代码,而不应该把不相关的文件也上传上去。
- 多余的文件导致项目体积过大,增加上传下载时间,影响工作效率。
二、如何配置.gitignore?
作为Java开发者,一般使用Eclipse或Intelij IDEA作为开发工具,Maven作为项目管理工具,Git作为版本管理工具,这些工具在使用过程中都会产生一些文件,我们只要配置.gitignore文件就可以排除这些与源代码无关的文件。
github为开发者提供一个github/gitignore的仓库,里面包含了大部分语言和开发工具的gitignore文件模板,我们只要根据需要下载相关模板进行配置即可。
github/gitignore仓库地址:https://github.com/github/gitignore
由于Eclipse,Intelij IDEA和Maven每个项目都会用到,我们把这几个的配置作为Git的全局配置,这样就可以一劳永逸了,配置一次即可。而与项目相关的,例如Java,JS,Python等等其他语言的,只要在项目中按实际使用情况进行配置即可。
全局配置
- 创建~/.gitignore_global文件
1
|
$ touch ~/.gitignore_global
|
- 将上面的文件设置为git的全局core.excludesfile文件
1
|
$ git config--globalcore.excludesfile~/.gitignore_global
|
- 编辑~/.gitignore_global文件
1
|
$ vim ~/.gitignore_global
|
- 添加Eclipse规则,规则模板地址:
https://github.com/github/gitignore/blob/master/Global/Eclipse.gitignore
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
.metadata
bin/ tmp/ *.tmp *.bak *.swp *~.nib local.properties .settings/ .loadpath .recommenders # External tool builders .externalToolBuilders/ # Locally stored "Eclipse launch configurations" *.launch # PyDev specific (Python IDE for Eclipse) *.pydevproject # CDT-specific (C/C++ Development Tooling) .cproject # CDT- autotools .autotools # Java annotation processor (APT) .factorypath # PDT-specific (PHP Development Tools) .buildpath |
- 配置Intelij IDEA规则,规则地址:
https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 # User-specific stuff .idea/**/workspace.xml .idea/**/tasks.xml .idea/**/usage.statistics.xml .idea/**/dictionaries .idea/**/shelf # Generated files .idea/**/contentModel.xml # Sensitive or high-churn files .idea/**/dataSources/ .idea/**/dataSources.ids .idea/**/dataSources.local.xml .idea/**/sqlDataSources.xml .idea/**/dynamic.xml .idea/**/uiDesigner.xml .idea/**/dbnavigator.xml # Gradle .idea/**/gradle.xml .idea/**/libraries # Gradle and Maven with auto-import # When using Gradle or Maven with auto-import, you should exclude module files, # since they will be recreated, and may cause churn. Uncomment if using # auto-import. # .idea/artifacts # .idea/compiler.xml # .idea/jarRepositories.xml # .idea/modules.xml # .idea/*.iml # .idea/modules # *.iml # *.ipr # CMake cmake-build-*/ # Mongo Explorer plugin .idea/**/mongoSettings.xml # File-based project format *.iws # IntelliJ out/ # mpeltonen/sbt-idea plugin .idea_modules/ # JIRA plugin atlassian-ide-plugin.xml # Cursive Clojure plugin .idea/replstate.xml # Crashlytics plugin (for Android Studio and IntelliJ) com_crashlytics_export_strings.xml crashlytics.properties crashlytics-build.properties fabric.properties # Editor-based Rest Client .idea/httpRequests # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser |
- 配置Maven规则,规则地址:
https://github.com/github/gitignore/blob/master/Maven.gitignore
1
2 3 4 5 6 7 8 9 10 11 |
target/
pom.xml.tag pom.xml.releaseBackup pom.xml.versionsBackup pom.xml.next release.properties dependency-reduced-pom.xml buildNumber.properties .mvn/timing.properties # https://github.com/takari/maven-wrapper#usage-without-binary-jar .mvn/wrapper/maven-wrapper.jar |
项目配置
- 在Java项目中添加.gitignore文件
1
2 |
$ touch .gitignore
$ vim .gitignore |
2、添加Java规则,规则地址:https://github.com/github/gitignore/blob/master/Java.gitignore
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# Compiled class file
*.class # Log file *.log # BlueJ files *.ctxt # Mobile Tools for Java (J2ME) .mtj.tmp/ # Package Files # *.jar *.war *.nar *.ear *.zip *.tar.gz *.rar # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2021-06-06 Centos 的常用命令总结
2021-06-06 Docker的常用命令总结