Development/Git
[git] .gitignore 작성하기
레오나르도 다빈츠
2023. 4. 10. 21:28
로그 파일이나 빌드 시스템이 자동으로 생성한 파일은 Git이 관리할 필요가 없다.
*.[oa] // 확장자가 ".o"나 ".a"인 파일을 무시하라
*~ // ~로 끝나는 모든 파일을 무시하라
◽️ .gitignore의 패턴
- 아무것도 없는 라인이나, '#'로 시작하는 라인은 무시한다.
- 표준 Glob 패턴을 사용한다. 이는 프로젝트 전체에 적용된다.
- 슬래시(/)로 시작하면 하위 디렉토리에 적용되지 않는다.
- 디렉토리는 슬래시(/)를 끝에 사용하는 것으로 표현한다.
- 느낌표(!)로 시작하는 패턴의 파일은 무시하지 않는다.
◽️ Glob 패턴
정규표현식을 단순하게 만든 것이다.
- 애스터리스크(*)는 문자가 하나도 없거나 하나 이상을 의미한다.
- [abc]는 중괄호 안에 있는 문자 중 하나를 의미한다.
- [0-9] 처럼 하이픈(-)을 사용하면 그 캐릭터 사이에 있는 문자 하나를 말한다.
- 애스터리스크 2개를 사용하여 디렉토리 안의 디렉토리까지 지정할 수 있다.
📄 예제
# 확장자가 .a인 파일 무시
*.a
# 윗 라인에서 확장자가 .a인 파일은 무시하게 했지만 lib.a는 무시하지 않음
!lib.a
# 현재 디렉토리에 있는 TODO파일은 무시하고 subdir/TODO처럼 하위디렉토리에 있는 파일은 무시하지 않음
/TODO
# build/ 디렉토리에 있는 모든 파일은 무시
build/
# doc/notes.txt 파일은 무시하고 doc/server/arch.txt 파일은 무시하지 않음
doc/*.txt
# doc 디렉토리 아래의 모든 .pdf 파일을 무시
doc/**/*.pdf
◽️ .gitignore 작성 시 참고해보자
GitHub - github/gitignore: A collection of useful .gitignore templates
A collection of useful .gitignore templates. Contribute to github/gitignore development by creating an account on GitHub.
github.com
출처
프로 Git, Scott Chacon, 2014