소연의_개발일지
article thumbnail

.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
profile

소연의_개발일지

@ssoyxon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!