Java用Gitignoreファイル

MD Aminul Islam 2023年6月20日
  1. Java用.gitignoreファイルの概要
  2. .gitignore ファイルを手動で作成するために従うべき規則
  3. Java での .gitignore ファイルの例
Java用Gitignoreファイル

今日のチュートリアルでは、例を介して Java の .gitignore ファイルについて説明し、.gitignore を手動で作成する際に従うべきルールをリストします。

Java用.gitignoreファイルの概要

Git では、Git が無視すべきファイルを追跡しないために ignore という用語が使用されており、既に追跡されている他のファイルには影響しません。 たとえば、Github などの Git サービスに特定のファイルを送信したくない場合があります。

無視する必要があるファイルを指定できる .gitignore という名前のファイルがあります。 一般に、このファイルはマシンで生成されます。 .gitignore で一般的に指定されるファイルの一部を以下に示します。

  • キャッシュへの依存。
  • コンパイルされたコード。
  • /bin/out/target などの出力ディレクトリを作成します。
  • .log.lock.tmp などのランタイム ファイルが生成されます。
  • Thumbs.db.DS_Store などの隠しシステム ファイル。
  • IDE config ファイル。

.gitignore ファイルを手動で作成するために従うべき規則

.gitignore ファイルを手動で作成しようとする場合、以下のルールに従う必要があります。

  • Git は # で始まる行または 空白行 を無視します。
  • 標準グロブ パターン のみに従い、再帰的に適用する必要があります。
  • 再帰を避けるために、/ でパターンを開始できます。
  • ディレクトリを指定するには、パターンを / で終了します。
  • パターンを否定するには、! で始める必要があります。

Java での .gitignore ファイルの例

以下は、Intellij IDE プロジェクト用に特別に生成された .gitignore の例です。 見てみましょう。

### Intellij ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm, and Rider
# 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

# AWS User-specific
.idea/**/aws.xml

# 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

# SonarLint plugin
.idea/sonarlint/

# 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

### Intellij Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721

# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr

# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/

# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml

# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/

# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$

# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml

# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml

### Java ###
# 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*
replay_pid*

# End of https://www.toptal.com/developers/gitignore/api/java,intellij

.gitignore ファイルは root ディレクトリにある必要があります。

著者: MD Aminul Islam
MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn