반응형
.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 항목을 커스터마이징하는 것도 추천합니다.
반응형
'Git' 카테고리의 다른 글
| 한글 Git 커밋 접두사 (0) | 2025.04.03 |
|---|---|
| Git Commit Template (0) | 2025.03.28 |
| [Git] 헷갈리는 commit명 비교 (0) | 2023.06.19 |
| [Git] Git repo 이름 명명 규칙 (0) | 2022.12.20 |
| [Git] Git 홈페이지 만들기 - Chirpy css 적용되지 않는 오류 해결 (0) | 2022.11.30 |