Spring Framework项目的GitHub .gitignore配置及语言识别问题咨询
解决GitHub识别Spring Java项目为JavaScript的问题及.gitignore配置指南
一、修复GitHub语言识别错误
GitHub的语言统计是基于仓库中各类文件的代码行数占比来判断的,被识别成JavaScript大概率是你的仓库里存在较多JS文件(比如前端静态资源、测试脚本,甚至误提交的IDE生成文件),或者这些JS文件的行数占比超过了Java文件。可以按以下步骤修复:
排查仓库中的JS文件
先检查仓库里是否有意外提交的JS文件,比如前端的node_modules目录(如果是前后端分离项目,建议把前端单独托管,或者用.gitignore忽略该目录),或者测试用的JS脚本。如果这些是必要的JS文件,但你不想让它们影响语言识别,可以用下面的方法。用
.gitattributes强制指定项目语言
在仓库根目录创建.gitattributes文件,添加以下内容:# 将所有Java文件标记为Java语言 *.java linguist-language=Java # 如果有JS文件,标记为第三方依赖,不计入语言统计 *.js linguist-vendored # 纯Java项目可直接强制整个仓库识别为Java * linguist-language=Java提交这个文件到GitHub后,等待片刻语言统计就会更新为Java了。
二、Eclipse+Spring Java项目的.gitignore配置
针对这类项目,.gitignore需要覆盖IDE配置、编译产物、临时文件和敏感配置,推荐的配置如下:
# Eclipse IDE相关文件 .classpath .project .settings/ .metadata/ *.tmp *.bak *.swp *~.nib # Java编译产物(适配Maven/Gradle) target/ bin/ build/ *.class # Spring项目敏感配置(根据实际情况调整) application-dev.properties application-local.yml *.log *.sql # 操作系统临时文件 .DS_Store Thumbs.db # 可选忽略项(按需开启) # 前端依赖目录 # node_modules/ # IDEA配置文件(如果团队混用IDEA) # .idea/ # *.iml
关键项说明:
.classpath、.project、.settings/是Eclipse生成的个性化配置文件,每个人的IDE环境不同,无需提交。target/是Maven编译后的产物目录,绝对不能提交——编译产物随时可重新生成,提交会无端增大仓库体积。application-dev.properties这类本地开发配置文件可能包含数据库密码等敏感信息,必须忽略。
内容的提问来源于stack exchange,提问作者fatih
相关产品推荐
相关产品推荐

