본문 바로가기
iOS/Xcode

[ios] .gitignore 설정하기

by startSW 2023. 10. 17.

 

프로젝트를 생성하고 git에 push한 후에 아래와 같은 폴더들이 push되지 않고 남아있는 경우가 있습니다.

사실, 이런 폴더들은 개인적인 개발 환경과 관련된 내용을 포함하고 있기 때문에 여러 명이 공동으로 작업하는 git에는 push되면 안됩니다. 만약 이런 내용들이 push가 되면, 나중에 다른 개발자가 push할 때 conflict가 발생할 수 있습니다.

그래서 이런 폴더나 파일이 git에 push 되지 않도록 “.gitignore”를 설정할 필요가 있습니다.

그 방법을 이 글에서 알아 보도록 하겠습니다.

 

1. .gitignore 에 들어갈 내용 작성하기

    1) https://gitignore.io/ 에 접속합니다.

     2) 키워드로 swift, xcode, cocoapods 를 직접 입력하고 엔터를 하면 아래와 같은 내용이 생성됩니다. 

# Created by <https://www.toptal.com/developers/gitignore/api/swift,xcode,cocoapods>
# Edit at <https://www.toptal.com/developers/gitignore?templates=swift,xcode,cocoapods>

### CocoaPods ###
## CocoaPods GitIgnore Template

# CocoaPods - Only use to conserve bandwidth / Save time on Pushing
#           - Also handy if you have a large number of dependant pods
#           - AS PER <https://guides.cocoapods.org/using/using-cocoapods.html> NEVER IGNORE THE LOCK FILE
Pods/

### Swift ###
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

## User settings
xcuserdata/

## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
*.xcscmblueprint
*.xccheckout

## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
build/
DerivedData/
*.moved-aside
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3

## Obj-C/Swift specific
*.hmap

## App packaging
*.ipa
*.dSYM.zip
*.dSYM

## Playgrounds
timeline.xctimeline
playground.xcworkspace

# Swift Package Manager
# Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
# Packages/
# Package.pins
# Package.resolved
# *.xcodeproj
# Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
# hence it is not needed unless you have added a package configuration file to your project
# .swiftpm

.build/

# CocoaPods
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# <https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control>
# Pods/
# Add this line if you want to avoid checking in source code from the Xcode workspace
# *.xcworkspace

# Carthage
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts

Carthage/Build/

# Accio dependency management
Dependencies/
.accio/

# fastlane
# It is recommended to not store the screenshots in the git repo.
# Instead, use fastlane to re-generate the screenshots whenever they are needed.
# For more information about the recommended setup visit:
# <https://docs.fastlane.tools/best-practices/source-control/#source-control>

fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots/**/*.png
fastlane/test_output

# Code Injection
# After new code Injection tools there's a generated folder /iOSInjectionProject
# <https://github.com/johnno1962/injectionforxcode>

iOSInjectionProject/

### Xcode ###

## Xcode 8 and earlier

### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcodeproj/project.xcworkspace/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno
**/xcshareddata/WorkspaceSettings.xcsettings

# End of <https://www.toptal.com/developers/gitignore/api/swift,xcode,cocoapods>

 

2 . ".gitignore" 파일 생성

    1) 프로젝트 폴더에 오른쪽 버튼을 클릭해서 “서비스 → 폴더에서 새로운 터미널 열기” 메뉴를 클릭합니다. 


    2) 터미널에 vim .gitignore 를 입력합니다.


    3) 터미널에 i 를 입력합니다.

    4) https://gitignore.io/ 에서 작성한 .gitignore에 들어갈 내용을 복사해서 붙여넣습니다.

    5) 터미널에서 esc 를 입력하고, :wq! 를 입력하고 엔터를 누룹니다.

 

3. ".gitignore" 파일 push 하기

    1) Xcode를 다시 실행하면 아래와 같이 .gitignore 파일만 보이는 것을 확인할 수 있습니다.


    2) 이제 .gitignore 파일을 commit 하고 push 합니다.