특정 파일 혹은 폴더에 대해 Git이 버전 관리를 하지 못하도록 지정하는 것
venv/__pycache__/반드시 이름을 .gitignore로 작성합니다. 앞의 점(.)은 숨김 파일이라는 뜻입니다.
.gitignore 파일은 .git 폴더와 동일한 위치에 생성합니다.
제외 하고 싶은 파일은 반드시 git add 전에 .gitignore에 작성합니다.
왜 git add 전에 .gitignore에 작성해야 할까요?
git add a.txt 라고 작성하면, 이제 Git은 a.txt를 버전 관리의 대상으로 여깁니다. 한 번 버전 관리의 대상이 된 a.txt는 이후에 .gitignore에 작성하더라도 무시되지 않고 계속 버전 관리의 대상으로 인식됩니다.
따라서 제외 하고 싶은 파일은 반드시 git add 전에 .gitignore에 작성해야 합니다!
.gitignore의 내용을 쉽게 작성할 수 있도록 도와주는 두 개의 사이트를 소개합니다. 자신의 개발 환경에 맞는 것을 찾아서
전체 복사, 붙여넣기를 하면 됩니다.
https://github.com/github/gitignore
#로 시작하는 라인은 무시합니다.슬래시(/)로 시작하면 하위 디렉터리에 재귀적으로 적용되지 않습니다.슬래시(/)를 끝에 사용하는 것으로 표현합니다.느낌표(!)로 시작하는 패턴의 파일은 ignore(무시)하지 않습니다.*(asterisk)는 문자가 하나도 없거나 하나 이상을 의미합니다.[abc]는 중괄호 안에 있는 문자 중 하나를 의미합니다.물음표(?)는 문자 하나를 의미합니다.[0-9]처럼 중괄호 안에 하이픈(-)이 있는 경우 0에서 9사이의 문자 중 하나를 의미합니다.**(2개의 asterisk)는 디렉터리 내부의 디렉터리까지 지정할 수 있습니다. (a/**/z라고 작성하면 a/z, a/b/z, a/b/c/z 까지 모두 영향을 끼칩니다.)# .gitignore
# 확장자가 txt인 파일 무시
*.txt
# 현재 확장자가 txt인 파일이 무시되지만, 느낌표를 사용하여 test.txt는 무시하지 않음
!test.txt
# 현재 디렉터리에 있는 TODO 파일은 무시하고, folder/TODO 처럼 하위 디렉터리에 있는 파일은 무시하지 않음
/TODO
# build/ 디렉터리에 있는 모든 파일은 무시
build/
# folder/notes.txt 파일은 무시하고 folder/child/arch.txt 파일은 무시하지 않음
folder/*.txt
# folder 디렉터리 아래의 모든 .pdf 파일을 무시
folder/**/*.pdf