본문 바로가기
Programming/GitHub

README와 .gitignore파일 생성 및 설정

by 조현성 2025. 6. 29.

썸네일

 

Git으로 버전 관리를 할 때 반드시 마주하게 되는 두 파일이 있다. 바로 README.md 와 .gitignore 파일이다. 이 두 파일은 나중에 프로젝트가 커지거나 협업을 하게 되었을 때 정말 중요한 역할을 하게 된다. 로컬의 Finder 에서 파일들을 생성해도 되지만, 이번 포스팅에서는 GitHub를 이용하여 이 두 파일을 생성하고 Pull 하는 방식으로 진행 한다.

 

README는 프로젝트의 얼굴이다

GitHub에 프로젝트를 올렸을 때 처음 보이는 것이 바로 이 README.md 파일이다. 말 그대로 "이 프로젝트를 읽어주세요(READ ME)"라는 의미를 가지고 있고, 프로젝트에 대한 소개, 사용법, 설치법, 기여방법 등을 담는다.

XcodeSourceControl Repository

GitHub 원격저장소에서 Add a README 버튼을 누름으로써 생성 할 수 있다. 버튼을 눌러보면 편집창이 나타나게 되는데 아래와 같이 마크다운으로 작성하면 된다.

README.md

이제 프리뷰(Preview)탭을 눌러보면, 사람들에게 어떻게 표시될지 알 수 있다.

Preview

마크다운으로 README.md 파일을 작성 완료 했다면, 우측 상단의 Commit changes 버튼을 눌러 main 브랜치에 커밋 시킨다.

Commit changes

그럼 이 프로젝트의 원격저장소(Repository)에 아래와 같이 README 파일이 생성 된 것을 확인 할 수 있다.

README 파일 생성완료

 

.gitignore는 왜 꼭 필요할까?

.gitignore는 Git 프로젝트 안에 위치하는 특별한 텍스트 파일이다. Xcode에서 직접 작업하면 .txt가 붙는 오류를 범할 수 있어 그냥 Finder에서 만들거나 GitHub상에서 만드는게 좋다고 본다. 이 파일은 Git에게 "여기 명시된 파일들은 버전 관리하지 말고 무시해줘"라고 이야기해주는 역할을 한다. 즉, Git이 추적하지 않아야 할 파일 목록을 지정하는 역할을 한다.

 

Xcode에서 프로젝트를 진행하다보면 .DS_Store 같은 이상한 파일이 생길때가 있다. 이렇게 불필요한 파일을 무시하거나, 비밀키 인증파일 등이 실수로 Push를 통해 원격저장소로 업로드 되지 않게끔 협업 안정성 확보 측면에서도 꼭 필요하다.

 

README 파일을 GitHub웹페이지에서 만든김에 .gitignore 파일도 GitHub웹페이지에서 만들어 보도록 하겠다. Add file 버튼을 눌러보자.

Add file

이어서 파일명은 .gitignore로 지정 하고, 제외할 항목을 입력 한다. 아래는 GitHub에서 제공하는 템플릿으로 기본작성한 형상이다.

.gitignore

근래 가장 똑똑하다는 ChatGPT4.1에게 다음과 같이 질의하여 .gitignore에 들어갈 내용을 얻을 수도 있다.

 

SwiftUI 기반의 iOS 앱을 Xcode로 개발하고 있습니다. Firebase를 사용하여 CocoaPods 또는 Swift Package Manager로 라이브러리를 설치할 수 있습니다. 이 프로젝트에 적합한 .gitignore 파일을 전문가 수준으로 작성해 주세요. 빌드 디렉토리, 파생 데이터, 사용자별 설정 파일, macOS 시스템 파일, Firebase 설정 파일 등을 모두 제외해야 합니다.

 

아래와 같은 결과물을 얻을 수 있고, .GitHub에서 생성중인 .gitignore 파일에 붙여넣으면 된다.

# =========================================
# SwiftUI + Xcode + Firebase 프로젝트용 .gitignore
# (CocoaPods, SPM, 사용자/시스템 파일, 빌드 산출물 등)
# =========================================

# --- Xcode 빌드/캐시/설정 파일 ---
# 빌드 산출물(파생 데이터, 빌드 결과물)
DerivedData/
build/
# Xcode 14부터 도입된 새 빌드 폴더
.xcresult/

# Xcode 프로젝트의 사용자별 설정(개인 옵션/임시파일)
*.xcuserstate
*.xcscmblueprint
*.xcworkspace/xcuserdata/
*.xcodeproj/xcuserdata/
*.xcodeproj/project.xcworkspace/xcuserdata/

# 프로젝트 설정 자동 생성/임시파일
*.moved-aside
*.xcuserdatad
*.swp

# Xcode Server(통합 빌드/봇)
xcshareddata/WorkspaceSettings.xcsettings

# Xcode 자동생성/임시 아카이브(아카이브된 앱 바이너리)
*.xcarchive

# --- macOS(시스템) 파일 ---
.DS_Store
.AppleDouble
.LSOverride

# Spotlight 검색 인덱스
*.Spotlight-V100

# macOS 메타데이터(리소스 포크)
._*

# --- Playgrounds ---
timeline.xctimeline
playground.xcworkspace

# --- Swift Package Manager(의존성 관리) ---
# SPM 패키지/캐시/자동생성
.build/
.swiftpm/
# SPM 체크섬 파일
Package.resolved

# --- CocoaPods(의존성 관리) ---
# Pods 디렉토리(외부 라이브러리)
Pods/
# Podfile.lock은 의존성 버전 고정용이므로 보통은 커밋
# 만약 팀에 따라 lock 파일도 제외하려면 아래 주석 해제
# Podfile.lock

# CocoaPods의 임시 프로젝트 파일
*.xcworkspace
!default.xcworkspace

# --- Carthage(참고: 사용하지 않더라도, 추가하면 안전) ---
Carthage/Build/
Carthage/Checkouts/

# --- Firebase/GoogleService 파일 ---
# Firebase 설정 파일(개인 토큰/프로젝트별 비공개 정보)
# iOS (반드시 무시: 앱 배포시 API 키 노출 위험!)
GoogleService-Info.plist
# Android (프로젝트에 있으면)
google-services.json

# --- 기타 개발용 파일 ---
# Fastlane(자동 배포 도구) 생성 로그/임시
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output

# SwiftLint, SwiftFormat 캐시
.swiftlint.yml
.swiftformat
# 시뮬레이터 디버그용 설정
*.simstate

# --- 사용자별 환경설정(에디터 등) ---
# VSCode 등 기타 에디터 메타데이터
.vscode/
.idea/
*.code-workspace

# --- Crashlytics/파이어베이스 로그 ---
# (이것도 커밋 금지: 분석/로그 파일)
crashlytics-build.properties

# --- 기타 ---
# 로그 파일, 임시 파일
*.log
*.tmp

# =========================================
# 필요한 파일은 커밋 전 반드시 예외처리(!)로 별도 관리
# (예시: Podfile, Podfile.lock, Package.swift, ...)
# =========================================

README 파일을 생성 했을때와 같이 우측 상단의 Commit changes 버튼을 눌러 main 브랜치에 커밋 시킨다.

.gitignore 파일 Commit changes

이제 원격저장소에 2개의 파일이 생성되었다.

README.md 파일과 .gitignore 파일

로컬의 Xcode에서는 무엇인가 내려 받을 것이 (Pull 할 것이) 2개 있다는 것은 감지 할 수 있다.

Xcode

이제 Pull 하여 원격저장소와 로컬저장소를 일치 시킨 후 작업을 이어 나가면 된다.

Pull
병합완료

방금 추가된 README.md 파일과 .gitignore 파일이 Xcode의 프로젝트 네비게이터 상에는 보이지 않을 수 있다. 파인더로 이동하여 숨김 파일을 표시하는 [Command] + [Shift] + [.(마침표)] 단축키를 입력하면 아래와 같이 파일을 확인 할 수 있다.

파인더에서 파일 확인