안드로이드 스튜디오 프로젝트 .gitignore 정리
안드로이드 스튜디오 프로젝트를 Git으로 관리할 때는 빌드 산출물, 로컬 설정, 민감 정보를 반드시 제외해야 합니다.
이 글에서는 실제로 자주 사용하는 .gitignore 항목을
“반드시 제외”와 “상황에 따라 선택”으로 나눠 정리합니다.
핵심 원칙
- 재생성 가능한 파일(빌드 결과, 캐시)은 커밋하지 않기
- 개인 PC 환경에 종속된 파일(로컬 설정)은 커밋하지 않기
- 비밀값이 들어간 파일(키스토어,
local.properties등)은 커밋하지 않기
반드시 .gitignore에 넣을 항목
# Gradle / build output
.gradle/
**/build/
# Local SDK path (개인 환경 경로)
local.properties
# IDE files (Android Studio / IntelliJ)
.idea/
*.iml
# OS files
.DS_Store
Thumbs.db
# Signing files (민감 정보)
*.jks
*.keystore
# Logs
*.log
상황에 따라 선택할 항목
아래 항목은 팀 정책에 따라 포함/제외를 결정하면 됩니다.
# Kotlin/Java crash logs
hs_err_pid*
# Captures and generated artifacts
captures/
# If you use NDK/CMake
.cxx/
externalNativeBuild/
# Firebase / Google service files
# 보통은 커밋하지만, 회사 정책상 분리 관리 시 ignore 가능
# google-services.json
권장 운영 방식
google-services.json은 개인 앱/테스트 앱이면 보통 커밋- 회사 프로젝트에서 환경 분리(개발/스테이징/운영)가 명확하면 비공개 관리 검토
- 서명 키(
.jks,.keystore)는 절대 저장소에 올리지 않기 - 키 관련 값은 CI/CD Secret 또는 안전한 비밀 저장소로 관리
기존에 잘못 올라간 파일이 있다면
.gitignore를 추가해도 이미 커밋된 파일은 계속 추적됩니다.
아래처럼 Git 인덱스에서만 제거해야 반영됩니다.
git rm --cached local.properties
git rm --cached app/release-key.jks
git commit -m "chore: remove sensitive/local files from tracking"
마무리
안드로이드 스튜디오 프로젝트의 .gitignore는
“빌드 산출물 제외”보다 “민감 정보 보호”가 더 중요합니다.
처음 저장소를 만들 때 .gitignore를 먼저 잡아두면,
나중에 키 유출이나 불필요한 충돌을 크게 줄일 수 있습니다.