.gitignore 파일이 필요한 이유
소스코드를 변경할 때 git을 사용하여 커밋을 할 수 있으나
github에 업로드하지 말아야 할 파일, 보안상 올리지 말아야 할 파일, 가상환경 파일들은 .gitignore 파일 내에 지정하여 git의 관리에서 무시하게 둘 수 있다.
즉, .gitignore 파일을 사용하면 Git에게 특정 파일이나 디렉토리를 무시하도록 지시할 수 있다.
.gitignore 파일 생성
터미널에서 파일을 생성할 때는) touch .gitignore 명령어를 사용하여 파일을 생성할 수 있다.
중요한 점은 파일 이름이 마침표로 시작해야 하며, 프로젝트 폴더의 루트에 있어야 한다.
touch .gitignore
git desktop을 사용하면) 상단의 [Repository] → [Repository settings...] 로 들어간다.
설정에서 ignore files를 작성하면 자동으로 .gitignore 파일이 생성된다.
.gitignore 파일은 일반 텍스트 파일이다.
각 줄은 Git이 무시하도록 지시하는 파일 이름, 폴더, 파일 패턴 혹은 폴더 패턴일 수 있다.
.gitignore 규칙 및 문법
1. 공백 라인
- 아무런 파일도 일치시키지 않아 가독성을 위한 구분자로 사용된다.
- 예:
# 로그 파일을 무시합니다.
*.log
2. 주석
- '#'로 시작되는 줄은 주석으로 간주된다.
# 로그 파일을 무시합니다.
*.log
3. 패턴
- '*'는 슬래시를 제외한 모든 문자와 일치한다.
- '?'는 슬래시를 제외한 한 문자와 일치한다.
- '[a-zA-Z]'와 같은 범위 표시법은 범위 내의 한 문자와 일치한다.
# 모든 .log 파일을 무시합니다.
*.log
# 특정 디렉토리 안의 모든 .txt 파일을 무시합니다.
docs/*.txt
4. 디렉토리(폴더) 무시
- 슬래시('\')로 끝나는 패턴은 그 하위 파일들을 무시하도록 한다.
# tmp 디렉토리와 그 안의 모든 파일 및 하위 디렉토리를 무시합니다.
tmp/
5. 부정 패턴
- '!' 접두사는 패턴을 부정한다. 즉, 이전에 정의된 패턴에서 제외된 파일이나, 디렉토리를 다시 포함한다.
- 예) 모든 txt 폴더를 *.txt로 무시했는데, test.txt 폴더만 제외하지 않고 싶을 때 사용
# 모든 .log 파일을 무시합니다.
*.log
# 단, important.log는 무시하지 않습니다.
!important.log
6. 디렉터리 구조
- "**" 패턴은 디렉토리 구조에 대한 와일드 카드로 사용된다. 이를 통해 서브디렉티를 통한 깊은 일치가 가능하다.
# 모든 디렉토리의 target 디렉토리를 무시합니다.
**/target/
# "a" 디렉토리 아래의 모든 "z" 파일을 무시합니다.
a/**/z
'개발공부 > Git & Git gui' 카테고리의 다른 글
[Git] 에디터 변경하기 (0) | 2024.05.30 |
---|---|
[git Extensions] Korean 한국어 언어 변경하기 (0) | 2024.05.02 |
sourcetree 병합 기능 (0) | 2024.02.05 |