반응형
gitignore 이란?
gitignore이란 git에서 사용하는 파일명으로, 프로젝트에서 형상 관리에 이용하지 않을 특정 파일을 커밋 대상에서 제외시켜주는 것을 의미합니다.
Mac을 사용하다보면 디렉터리 접근할 때. DS_Store가 생겨서 불필요한 파일이 추가되는데요. 이럴 때 관리 대상에서 제거하기 위해 gitignore를 사용합니다.
Git은 모든 파일을 다음 세 가지 중 하나로 인식합니다.
1. tracked : 스테이징 되었거나 커밋된 파일
2. untracked : 스테이징 되지 않았거나, 커밋되지 않은 파일
3. ignored : 무시하도록 명시된 파일
gitignore 컨벤션
패턴 | 설명 | 예시 |
**/api | **을 사용하면 모든 디렉토리로 제외 | v1/api, test/v1/api, v2/api |
*.txt | 해당 확장자를 가진 모든 파일 제외 | v1/api/test.txt, test.txt |
!.log | 패턴에 !를 추가하면 제외 대상에서 제외 | test.log, dummy/test.log 는 제외 X |
test?.log | ?를 사용하면 한 문자에 와일드 타입 제외 | test1.log, testX.log |
debug[0-9].log, debug[a-z].log | 대괄호에 패턴을 지정하여 타입 제외 | debug0.log, debug1.log |
/*.txt | 루트 디렉토리에 속한 확장자 제외 | test.txt (O), api/test.txt(X) |
gitignore 자동 생성 사이트
아래 사이트를 이용하면 gitignore 설정을 키워드 별로 자동 생성할 수 있습니다.
macOS, Windows, Java, Gradle, IntelliJ+all 등 필요한 키워드를 선택한 후 생성 버튼을 클릭하면 다음과 같이 gitignore 컨벤션에 맞게 생성해 줍니다.
### Intellij+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.
.idea/*
!.idea/codeStyles
!.idea/runConfigurations
- IntelliJ+all 키워드를 통해 gitignore를 생성하면 idea에서 설정하는 codeStyles와 runConfigurations를 제외하고 모든 설정을 ignore 시켜줍니다.
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
- macOS 키워드에는 맥에서 폴더에 접근할 때 생기는 파일 (DS_Store) 등을 제외시켜줍니다.
생성한 gitignore를 프로젝트에 복사 붙여 넣기 해주면 설정 완료
반응형