Tech/CI & CD

[Git] gitignore 패턴

Makuri 2021. 10. 12. 00:24
728x90

주로 git desktop을 사용하는데, svn 마냥 working directory 개념도 안보이고, 확장자 패턴 등으로 형상에서 무시하는 방법도 안보여서 적어두는 gitignore 패턴

당연하지만 git 공식에 설명되어 있다.

이 중에 자주 쓸 만한 패턴만 정리한다.

https://git-scm.com/docs/gitignore

 

Git - gitignore Documentation

The optional configuration variable core.excludesFile indicates a path to a file containing patterns of file names to exclude, similar to $GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to those in $GIT_DIR/info/exclude.

git-scm.com

1.상대의 경로인 경우 루트 경로는 .gitignore 파일의 위치

중간에 빈 줄이 있어도 됨.

2. #으로 주석 처리 할수 있음.

3. 백슬래시(\)를 쓰지 않는한 공백은 무시됨.

4. 경로 구분자는 슬래시(/)를 사용. 

(요게 좀 이상한데 'doc/frotz/' 는 'doc/frotz'는 매치되지만, 'a/doc/frotz' 는 안된다. 그런데 'frotz/'는 'frotz' 와 'a/frotz' 둘다 된다?)

5. !는 부정형이다. 이전에 제외한 파일을 다시 포함함. 하지만 상위 디렉토리가 제외된 경우 다시 포함되지 않음.

6. *은 슬래시를 제외한 모든 항목과 일치

7. ?는 슬래시를 제외한 모든 문자 일치

8. [a-zA-Z] 범위 표기법 사용 가능

9. **/A는 A라는 이름의 모든 파일 및 디렉토리와 매칭

10. A/**는 A 디렉토리 하위의 모든 파일들 (하위 디렉토리의 파일들도 모두)

11. A/**/B는 A와 B사이의 모든 디렉토리들을 매칭함. A/C/B, A/C/D/B, A/B 모두 해당

 

728x90