이번 포스팅에서는 Git ignore 파일을 자동으로 생성해 주는 gitignore.io 사이트를 소개하려고 합니다.
Git ignore 사용하는 이유
Git ignore는 Git 저장소에서 추적하지 않을 파일이나 디렉터리를 지정하는 데 사용됩니다. Git ignore를 사용하면 Git 저장소에서 불필요한 파일이나 디렉터리를 제외할 수 있습니다.
보통 프로젝트에는 소스 코드 외에도 빌드 출력물, 로그 파일, 캐시 파일 등이 포함됩니다. 이러한 파일들은 보통 Git 저장소에 포함되지 않아야 합니다. Git ignore를 사용하면 이러한 파일들을 자동으로 Git 저장소에서 제외시킬 수 있습니다. 이렇게 하면 Git 저장소가 더욱 깨끗하고 관리하기 쉽게 유지됩니다.
또한 Git ignore는 프로젝트를 공유할 때 불필요한 파일을 제외할 수 있기 때문에 저장소의 크기를 줄일 수 있습니다. 이는 프로젝트를 공유하거나 복제할 때 유용합니다.
따라서 Git ignore를 사용하여 저장소를 깨끗하게 유지하고 관리하기 쉽게 만들 수 있습니다.
Git ignore 사용
Git ignore에 제외할 파일이나 디렉터리를 추가하기 위해서 git root 경로에 있는 .gitignore에 제외하고자 하는 파일이나 디렉터리를 추가하면 됩니다. 만약 주석처리 하고 싶다면 #을 앞에 추가하면 됩니다.
하지만 내가 하나하나 ignore할 파일들을 추가하는 작업은 매우 번거롭습니다. 그래서 저는 .gitignore를 자동으로 생성해서 사용하고 있습니다.
.gitignore 자동생성
내가 사용하는 프로젝트, 언어에서 많이 사용하는 .gitignore파일을 자동으로 생성해주는 웹사이트가 있습니다.
여기서 나의 환경에 맞는 키워드를 작성하고 생성 버튼을 누르면 자동으로 .gitignore 파일이 생성됩니다.
저는 macOs Android AndroidStudio Kotlin 라는 키워드를 넣었습니다.
Android 개발자를 위한 .gitignore 파일
# Created by https://www.toptal.com/developers/gitignore/api/macos,android,androidstudio,kotlin
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,android,androidstudio,kotlin
### Android ###
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Log/OS Files
*.log
# Android Studio generated files and folders
captures/
.externalNativeBuild/
.cxx/
*.apk
output.json
# IntelliJ
*.iml
.idea/
misc.xml
deploymentTargetDropDown.xml
render.experimental.xml
# Keystore files
*.jks
*.keystore
# Google Services (e.g. APIs or Firebase)
google-services.json
# Android Profiling
*.hprof
### Android Patch ###
gen-external-apklibs
# Replacement of .externalNativeBuild directories introduced
# with Android Studio 3.5.
### Kotlin ###
# Compiled class file
*.class
# Log file
# 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*
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
### AndroidStudio ###
# Covers files to be ignored for android development using Android Studio.
# Built application files
*.ap_
*.aab
# Files for the ART/Dalvik VM
*.dex
# Java class files
# Generated files
bin/
gen/
out/
# Gradle files
.gradle
# Signing files
.signing/
# Local configuration file (sdk path, etc)
# Proguard folder generated by Eclipse
proguard/
# Log Files
# Android Studio
/*/build/
/*/local.properties
/*/out
/*/*/build
/*/*/production
.navigation/
*.ipr
*~
*.swp
# Keystore files
# Google Services (e.g. APIs or Firebase)
# google-services.json
# Android Patch
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# NDK
obj/
# IntelliJ IDEA
*.iws
/out/
# User-specific configurations
.idea/caches/
.idea/libraries/
.idea/shelf/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/dictionaries
.idea/vcs.xml
.idea/jsLibraryMappings.xml
.idea/datasources.xml
.idea/dataSources.ids
.idea/sqlDataSources.xml
.idea/dynamic.xml
.idea/uiDesigner.xml
.idea/assetWizardSettings.xml
.idea/gradle.xml
.idea/jarRepositories.xml
.idea/navEditor.xml
# Legacy Eclipse project files
.classpath
.project
.cproject
.settings/
# Mobile Tools for Java (J2ME)
# Package Files #
# virtual machine crash logs (Reference: http://www.java.com/en/download/help/error_hotspot.xml)
## Plugin-specific files:
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Mongo Explorer plugin
.idea/mongoSettings.xml
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
### AndroidStudio Patch ###
!/gradle/wrapper/gradle-wrapper.jar
# End of https://www.toptal.com/developers/gitignore/api/macos,android,androidstudio,kotlin
마무리
매번 새로운 프로젝트를 만들 때 마다 gitignore를 직접 추가하지 않고 gitignore.io 웹사이트를 이용하면 편하게 gitignore를 추가 할 수 있습니다.
'개발 > Git' 카테고리의 다른 글
(Git) 커밋 할 때 자동으로 이슈번호 붙이기 (0) | 2024.08.16 |
---|---|
(Git) GitKraken에서 여러 계정 사용하기 (0) | 2023.05.07 |