HOWTO · Java
Java용 Gitignore 파일
이 튜토리얼에서는 Java의 gitignore에 대해 설명하고 수동으로 gitignore를 생성할 때 따라야 할 규칙을 설명합니다.
오늘의 튜토리얼에서는 예제를 통해 Java용 .gitignore 파일에 대해 설명하고 .gitignore를 수동으로 생성하는 동안 따라야 할 규칙을 나열합니다.
Java용 .gitignore 파일 개요
Git에서 ignore라는 용어는 Git이 무시해야 하는 파일을 추적하지 않고 이미 추적된 다른 파일에 영향을 주지 않는 데 사용됩니다. 예를 들어 Github와 같은 Git 서비스에 특정 파일을 보내지 않으려는 경우가 있습니다.
무시해야 하는 파일을 지정할 수 있는 .gitignore라는 파일이 있습니다. 일반적으로 이 파일은 기계에서 생성됩니다. .gitignore에서 일반적으로 지정되는 일부 파일은 다음과 같습니다.
- 캐시에 대한 의존성.
- 컴파일된 코드.
/bin,/out또는/target과 같은 출력 디렉토리를 구축합니다..log,.lock또는.tmp와 같은 일부 런타임 파일이 생성되었습니다.Thumbs.db또는.DS_Store와 같은 숨겨진 시스템 파일.- IDE
config파일.
.gitignore 파일을 수동으로 생성하기 위해 따라야 할 규칙
.gitignore 파일을 수동으로 만들려면 다음 규칙을 따라야 합니다.
Git은 # 또는빈 줄로 시작하는 줄을 무시합니다.표준 glob 패턴만 따르고 재귀적으로 적용해야 합니다.- 재귀를 피하기 위해
/로 패턴을 시작할 수 있습니다. - 디렉토리를 지정하기 위해
/로 패턴을 끝낼 수 있습니다. - 패턴을 부정하려면
!로 시작해야 합니다.
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 디렉토리에 있어야 합니다.