국문과 유목민

[git] .gitignore 사용법 본문

IT 견문록/추가 학습 정리

[git] .gitignore 사용법

논곰 2022. 3. 23. 23:22
.gitignore 적용하기 글과 [Git] .gitignore이란? / .gitignore 사용법글을 참고해서 작성합니다. 조금 더 친절한 설명과 세부적인 설명을 원하시면 해당 블로그들을 참고하시면 더 좋습니다.  

git

.gitignore

 git에서 log를 관리할 때 보통 폴더 내 모든 파일에 대해 Tracking을 진행한다. 하지만 용량이 큰 파일이나 임시파일 등의 경우 Tracking이 필요하지 않거나, 용량이 커 관리의 어려움이 생기곤 한다. 또한 보안이나 저작권 상 문제 등으로 올리지 말아야 할 파일들이 있을 수도 있다. 따라서 이러한 파일들을 Tracking하지 않게 설정을 해줘야 하는데 이때 사용할 수 있는 파일이 .gitignore다.

.gitignore 규칙

.gitignore를 생성하기 위해서는 몇 가지 규칙을 알고 넘어가면 좋다.

  1. '#'로 시작하는 라인은 '주석'이다.
  2. 표준 Glob 패턴을 사용한다.*
  3. 슬래시(/)로 시작하면 하위 디렉터리에 적용되지(recursivity) 않는다.
  4. 디렉터리는 슬래시(/)를 끝에 사용하는 것으로 표현한다.
  5. 느낌표(!)로 시작하는 패턴의 파일은 무시하지 않는다. 

* Glob 패턴: 와일드카드 문자를 사용해서 일정한 패턴을 가진 파일 이름들을 지정하기 위한 패턴 [Glob 패턴이 뭘까?]

.gitignore 생성

 사실 .gitignore파일을 바로 만들어서 내가 원하는 요소들을 바로 넣어서 사용할 수도 있지만 https://www.toptal.com/developers/gitignore 사이트를 통해 .gitignore파일을 쉽게 생성할 수 있다. 내 경우 Python과 Jupyternotebook을 자주 사용하기 때문에 해당 언어들을 사용하면서 생성되는 임시파일들을 제거한 .gitignore 파일을 생성했다. 

https://www.toptal.com/developers/gitignore

생성을 누르면 나오는 text를 그대로 복사해서 내가 원하는 git폴더로 넘어가서 '.gitignore'파일을 생성해서 붙여준다. 이러면 default한 값이 설정된 것을 확인할 수 있다.

 '.gitignore'를 생성했으면 기존 tracking되던 임시 파일들이 tracking되지 않는 것을 확인할 수 있다. 만약 설정이 안 됐다면, 해당 파일만 우선적으로 commit 및 push를 해주면 된다. 

.gitignore 항목 추가

.gitignore를 생성했으면, 제외하길 원하는 폴더나 파일들을 넣어주면 된다. 

# 특정 파일 제외하기
test_data.csv

# 특정 확장자 파일 다 제외하기 (규칙 2번)
*.ipynb
*.txt

# 현재 경로 바로 아래 디렉토리의 파일만 제외 (규칙 3번) 이 경우 현재 경로에 있는 data만 제외된다
/data
# (다른 폴더 내의 other_dir/data가 있으면 해당 X)

# 특정 폴더 안의 파일 모두 제외하기 (규칙 4번) / 이 경우 data 내 모든 파일 및 폴더가 제외된다
data/

# 예외 만들기 (규칙 5번)
!test_data.ipynb

 

Comments