본문으로 바로가기

[Github] .gitignore 적용하기

category Github 2020. 1. 8. 00:05

gitignore이 제대로 동작하지 않는 문제를 해결한 후

제대로 기억하기 위해 기록합니다✍️


1) .gitignore이란?

.gitignore 파일이란 Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다.


git으로 프로젝트를 관리할 때, 그 프로젝트 안의 특정파일들은 관리할 필요가 없는 경우가 있다. 

예를 들면, 프로젝트 설정파일, 자동으로 생성되는 로그파일(ex.*.log), 빌드할 때 생기는 컴파일된 파일(ex. *.class) 등...

이런 관리할 필요가 없는 파일들을 git이 track 하지 않도록 .gitignore을 설정하는 것

2) .gitignore 파일 만들기

우선 .git 파일이 있는 최상위 디렉터리로 이동

(.gitignore 파일은 종류에 상관없이 자신이 사용하는 에디터로,

.git 파일이 존재하는 곳과 같은 디렉터리에 만들어 주면 된다.)

 

- GitHub에서 거의 모든 언어에 대한 .gitignore 파일을 미리 만들어서 제공하고 있다. 

  github/gitignore를 참고하여 .gitignore 안의 내용을 채우면 된다.

 

- 개인이 직접 .gitignore 파일을 설정하고 싶으면

  git-scm.com/docs/gitignore 를 참고하여 .gitignore 안의 내용을 채우면 된다.

 

저는 IDE에 git연결 후 기본으로 생성되어 있는 파일을 수정해서 사용했던 경우가 더 많았던 것 같습니다.

그래서 문법을 그때 그때 찾아가며 파일에 필요한 내용을 추가했었습니다.

3) 문법

# : comments

# no .a files
*.a

# but do track lib.a, even though you're ignoring .a files above
!lib.a

# only ignore the TODO file in the current directory, not subdir/TODO
/TODO

# ignore all files in the build/ directory
build/

# ignore doc/notes.txt, but not doc/server/arch.txt
doc/*.txt

# ignore all .pdf files in the doc/ directory
doc/**/*.pdf

4) 적용하기

보통 위와 같이 .gitignore을 작성 후 commit, push 해주면 github에 적용된 모습을 확인할 수 있다.

 

.gitignore이 제대로 동작하지 않아 당황하는 경우가 있다.

이미 버전 관리에 포함되어 있는 파일들이 나중에 .gitigore 파일에 기록된 경우 제대로 동작하지 않는다.

.gitignore에 추가되었더라도 Git이 계속해서 해당 파일을 track 하고 있다는 것이다.

 

캐시를 모두 지워준 후 다시 커밋하게 되면 새롭게 .gitignore내용을 적용할 수 있습니다.

git rm -r --cached .
git add .
git commit -m "fixed untracked files"

 

'Github' 카테고리의 다른 글

Github 입문하기  (2) 2019.05.23