Git

Git ignore란?

ywangnon 2025. 4. 26. 09:19
반응형

 

.gitignore 파일은 Git이 버전 관리하지 않을 파일이나 폴더를 지정하는 설정 파일입니다.
iOS/macOS 개발(Xcode 기반)에서는 프로젝트를 빌드하거나 작업하면서 다양한 임시 파일, 개인 설정 파일이 생성됩니다.
이러한 파일들은 Git 저장소에 올릴 필요가 없고, 오히려 저장소를 지저분하게 하거나 충돌을 일으킬 수 있기 때문에,
.gitignore를 잘 설정해주면 프로젝트 관리가 편해집니다.


✍️ iOS/macOS 개발 시 무시해야 할 파일/폴더 정리

git 관리시 신경쓰이는 것들을 정리했습니다.

.DS_Store macOS가 폴더에 자동으로 생성하는 숨김 파일
build/ Xcode가 생성하는 빌드 결과물 폴더
DerivedData/ Xcode의 빌드 캐시 데이터 폴더 (용량 큼)
*.pbxuser Xcode 프로젝트 파일의 사용자 설정 저장 (개인 설정)
!default.pbxuser default 버전은 예외로 관리 (공용 기본 설정)
*.mode1v3, *.mode2v3 사용자별 에디터 뷰 모드 설정 파일
!default.mode1v3, !default.mode2v3 default 버전은 관리
*.perspectivev3 사용자별 화면 배치 저장 파일
!default.perspectivev3 default 버전은 관리
*.xcworkspace Xcode 작업 공간 파일 (default는 관리)
!default.xcworkspace 기본 작업 공간 파일은 관리
xcuserdata/ Xcode 사용자별 세션 저장 데이터 (개인 설정)
profile Xcode와 관련된 일시적인 설정 파일
*.moved-aside 파일 충돌로 이동된 임시 파일
.idea/ JetBrains IDE(AppCode 등)에서 생성한 프로젝트 설정 폴더
*.xcuserstate 최근 편집 세션 정보 파일 (Xcode 상태 저장)
.swiftpm/ Swift Package Manager 관련 메타 데이터 폴더
Package.resolved Swift Package Manager 의존성 고정 파일 (팀 정책에 따라 관리 여부 결정)
Pods/ CocoaPods 의존성 관리 폴더 (보통 무시)
Carthage/ Carthage로 설치된 의존성 폴더 (무시)
*.log 빌드, 런타임 중 생성된 로그 파일들
*.tmp, *.temp 다양한 임시 파일들
*.ipa iOS 앱 빌드 후 생성되는 배포용 파일
*.dSYM, *.dSYM.zip 크래시 분석용 심볼 파일
fastlane/report.xml Fastlane 빌드 자동화 과정 중 생성되는 리포트 파일
fastlane/screenshots/**/*.png Fastlane 스크린샷 테스트 이미지 파일
*.xcarchive iOS 앱 아카이브 파일 (디버깅/배포용)
*.xcdebugger Xcode 디버깅 세션 저장 파일

✅ 최종 추천 .gitignore 코드 예시

# macOS
.DS_Store

# Xcode
build/
DerivedData/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
*.xcworkspace
!default.xcworkspace
xcuserdata/
profile
*.moved-aside
*.xcuserstate
*.xcdebugger

# Swift Package Manager
.swiftpm/
Package.resolved

# CocoaPods
Pods/

# Carthage
Carthage/

# fastlane
fastlane/report.xml
fastlane/screenshots/**/*.png

# Archives and Distribution
*.xcarchive
*.ipa
*.dSYM.zip
*.dSYM

# Logs and temporary files
*.log
*.tmp
*.temp

# IDE settings
.idea/

🔑 프로젝트 적용

git rm -r --cached .
git add .
git commit -m "Apply .gitignore"

🧹 마무리

  • 빌드 결과물, 캐시 데이터, 개인 설정 파일들은 모두 .gitignore로 무시해야 합니다.
  • 팀원과 협업할 때, 불필요한 파일이 올라가 충돌하거나 저장소가 무거워지는 일을 방지할 수 있습니다.
  • 필요한 경우 프로젝트 특성에 맞춰 추가로 ignore 항목을 커스터마이징하는 것도 추천합니다.
반응형