[GitHub 100일 챌린지] Day 17 - 언어별 .gitignore 작성하기
[GitHub 100일 챌린지] Day 17 - 언어별 .gitignore 작성하기
100일 챌린지 Day 17 - 프로그래밍 언어별로 최적화된 .gitignore를 만듭니다
배울 내용
- JavaScript/TypeScript .gitignore
- Python .gitignore
- Java/Kotlin .gitignore
Topic1. JavaScript/TypeScript
웹 개발에서 가장 많이 사용하는 .gitignore 패턴입니다.
Node.js 기본
# Dependencies
node_modules/
jspm_packages/
# Production build
/dist
/build
/.next
/out
# Testing
/coverage
/.nyc_output
# Environment
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Editor
.vscode/
.idea/
# OS
.DS_Store
Thumbs.db
# Misc
.npm
.eslintcache
.node_repl_history
React 프로젝트
# React 빌드
build/
.cache/
# Create React App
.env.local
.env.development.local
.env.test.local
.env.production.local
# TypeScript
*.tsbuildinfo
# Debug
npm-debug.log*
yarn-debug.log*
Next.js
# Next.js
/.next/
/out/
.next/
# Vercel
.vercel
# TypeScript
*.tsbuildinfo
next-env.d.ts
해보기: React 프로젝트 .gitignore 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Repository에 .gitignore 추가:
# Dependencies
node_modules/
# Production
build/
dist/
# Environment
.env.local
# Logs
*.log
# OS
.DS_Store
결과: React 프로젝트에 맞는 .gitignore가 완성됩니다
Topic2. Python
Python 프로젝트의 필수 .gitignore 패턴입니다.
기본 패턴
# Byte-compiled
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
# PyInstaller
*.manifest
*.spec
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.pytest_cache/
# Virtual environments
venv/
ENV/
env/
.venv
# Jupyter Notebook
.ipynb_checkpoints
# Environment
.env
.venv
env/
venv/
# IDE
.vscode/
.idea/
*.swp
*.swo
# OS
.DS_Store
Django 프로젝트
# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
/media
/static
# Django migrations
**/migrations/*.py
!**/migrations/__init__.py
# Secret key
.env
secrets.json
Flask 프로젝트
# Flask
instance/
.webassets-cache
# Flask environment
.flaskenv
# Database
*.db
*.sqlite
해보기: Python 프로젝트 .gitignore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Python cache
__pycache__/
*.pyc
# Virtual environment
venv/
.venv/
# Environment
.env
# IDE
.vscode/
# Database
*.db
*.sqlite3
결과: Python 프로젝트가 깔끔하게 관리됩니다
Topic3. Java/Kotlin
JVM 언어 프로젝트의 .gitignore 패턴입니다.
Java 기본
# Compiled class files
*.class
# Log files
*.log
# Package Files
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# Maven
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
# Gradle
.gradle/
build/
!gradle-wrapper.jar
# IntelliJ IDEA
.idea/
*.iws
*.iml
*.ipr
out/
# Eclipse
.classpath
.project
.settings/
bin/
# NetBeans
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
# VS Code
.vscode/
# OS
.DS_Store
Thumbs.db
Spring Boot
# Spring Boot
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
# Application properties
application-local.yml
application-local.properties
# Log files
logs/
*.log
Android
# Android
*.apk
*.ap_
*.aab
# Build
/build
/local.properties
# Gradle
.gradle/
build/
# Android Studio
.idea/
*.iml
.externalNativeBuild
.cxx
local.properties
# Keystore files
*.jks
*.keystore
# Google Services
google-services.json
해보기: Java/Spring Boot .gitignore
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# Compiled
*.class
# Build
target/
build/
# IDE
.idea/
*.iml
# Logs
*.log
# Application
application-local.*
결과: Java 프로젝트에 맞는 .gitignore가 생성됩니다
정리
완료 체크:
- JavaScript/TypeScript .gitignore를 작성할 수 있다
- Python .gitignore를 작성할 수 있다
- Java .gitignore를 작성할 수 있다
언어별 핵심:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
JavaScript/Node.js:
- node_modules/
- dist/, build/
- .env
Python:
- __pycache__/
- venv/
- *.pyc
Java:
- *.class
- target/, build/
- .idea/
빠른 생성 방법:
1
2
3
1. gitignore.io 사용
2. GitHub 템플릿 사용
3. IDE 자동 생성
다음: Day 18 - 오픈소스 라이선스 선택 →
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
