.gitignore 추가하는 법
안녕하세요!
오늘은 Git의 .ignore
추가하는 법에 대해 써보겠어요!
힘들게 연결한 내 작고 소중한 깃... 그런데 넘나 지저분한 것!
해결 방법은 바로 gitignore 파일 추가하는 거!!!
(라임 맞춰봤음 😜)
근데 이미 추가했는데도 난 왜 지저분한걸까
그래서 오늘은 이미 올라간 항목을 지우고, 다시는 올라가지 않게 설정하는 법을 알아보려고 해요!
1. .DS_Store와 .xcodeproj 파일은 왜 무시해야 할까?
- .DS_Store: macOS 시스템에서 폴더의 메타데이터(아이콘 위치, 보기 옵션 등)를 저장하는 파일로, 프로젝트랑은 아무 관계 없는 불필요한 파일이에요.
- .xcodeproj: Xcode 프로젝트 파일이에요. 협업할 때 충돌이 자주 발생하는 파일로, 개인 설정이나 열려 있는 파일 상태까지 저장돼서 협업에서 문제가 생길 수 있어요. 하지만
.xcodeproj
자체는 프로젝트 설정에 필수적이므로, 협업 중 충돌을 피하고 싶으면.xcworkspace
와Pods
폴더 같은 것들을.gitignore
에 추가하는 게 좋아요.
첫 번째 CASE: 프로젝트 만들 때 gitignore
수정하는 법
프로젝트나 레포지토리 만들 때부터 .gitignore
파일을 추가해주면 좋아요
gitignore
파일 만들기
새로 레포지토리를 만들 때,gitignore
파일을 생성하는 옵션을 선택할 수 있어요.
만약 이미 레포지토리를 만들었다면, 루트 디렉토리에서.gitignore
파일을 새로 만들면 됩니다.gitignore
파일 찾기
이미 레포지토리에.gitignore
파일이 있다면, 해당 파일을 찾아서 수정하면 돼요.
파일이 없다면터미널
에서 아래 명령어로.gitignore
파일이 있는지 확인할 수 있어요
:find . -name ".gitignore"
gitignore
에 추가할 내용.gitignore
파일을 열고, 위 링크에서 만든 내용을 추가해주면 끗!- 이 아니라
gitignore
파일 저장하기
파일을 저장하고, 변경 사항을 깃에 반영해요.git add .gitignore git commit -m "Add .gitignore to ignore .DS_Store and .xcodeproj" git push origin main
짝짝짝
3. 두 번째 CASE: 이미 문제가 생긴 경우
그사람이 바로 나예요.
이미 .DS_Store
나 .xcodeproj
가 올라가버린 상황이라면?
항목 삭제 -> 깃 반영 순으로 해결해볼게요.
1. .DS_Store
파일 삭제하기
루트 디렉토리에서 .DS_Store
파일이 여러 디렉토리에 있을 수 있으니, 한 번에 모두 찾아서 삭제할 수 있어요.
find . -name .DS_Store -print0 | xargs -0 git rm --cached
2. 깃에 반영하기
그 후, 삭제한 항목을 커밋하고 푸시해주면 됩니다.
git commit -m "Remove all .DS_Store files from repository"
git push origin main
3. .xcodeproj
파일도 삭제하기
마찬가지로 .xcodeproj
도 삭제해야 해요. 이건 .gitignore
에 추가 후, 삭제하는 방법도 비슷합니다.
find . -name '*.xcodeproj' -print0 | xargs -0 git rm --cached
git commit -m "Remove all .xcodeproj files from repository"
git push origin main
4. 결론
이렇게 해서 불필요한 파일들을 깔끔하게 정리하고, 깃에 다시는 올라가지 않도록 .gitignore
에 추가한 뒤 푸시하면 됩니다!
다들 이제 .DS_Store
랑 .xcodeproj
걱정 없이 깃 관리 잘 하세요~!
'iOS' 카테고리의 다른 글
iOS 개발 전에 정리하는 코드 스타일 가이드 📌 | 효율적인 협업과 유지보수를 위해... (0) | 2025.03.24 |
---|---|
241122 TIL | 최댓값과 최솟값 (0) | 2024.11.22 |
[복습] Part 14. 확장 (0) | 2024.09.14 |
[복습] Part 13 타입 캐스팅 | is, as 연산자, 상속, 다형성, Any, AnyObject (0) | 2024.09.11 |
Swift 입력 받기 (0) | 2024.09.08 |