개발/etc 2012.11.05 21:37

.gitignore 파일 설정법

Git 으로 프로젝트를 관리한다고 했을 때, 그 프로젝트안의 특정파일들은 Git 으로 관리할 필요없는 것들도 있다. 자동으로 생성되는 로그파일들, 빌드할 때 생기는 컴파일된 파일들(자바프로젝트에서는 *.class 파일)이 그런 경우가 아닐까. 그런 파일들은 git status 를 조회할 때마다 항상 untracked 되어있거나 modified 되어있어서 진짜 필요한 정보들을 보기 힘들어질 수 있다. 어쨋든 이런 파일들을 git 시스템에서 무시해서 없는 파일처럼 만들 수 있다.


우선 아래 예제를 보면 .log 파일들이 있다. 



이 로그 파일들은 아직 add 되지도 않았기 때문에 아직 untracked 상태이다. 하지만 난 이 파일들을 add 하고 싶은 생각이 없으며 앞으로도 .log 확장자를 가진 파일을 Git 에서 관리하고 싶지 않다. 



.gitignore 파일을 만들자


.gitignore 파일안에 앞으로 무시할 파일들의 패턴을 입력하기만 하면 git status, git add, git commit .... 모든 명령어에서 그 파일들은 제외가 된다. 그냥 해당폴더에 .gitignore 파일을 생성하자.

$ vim .gitignore



아 간단하다. 단 한줄만 입력하고 저장한다. 윈도우에서하면 걍 메모장에 입력해서 저장하면 된다.

다시 git status 입력해보자.



.log 파일들은 없어지고 .gitignore 파일만 인식하고 있다. 성공이다. .gitignore 파일을 global 영역에 통합으로 설정하는 것보다는 레파지토리마다 프로젝트 성격이 다르고 언어도 다를 것이므로 무시할 파일들도 종류가 다를 것이므로 각 레파지토리 폴더 안에 정의해서 사용하는 게 좋지 않을까 하는게 개인적인 생각이다. 

# a comment - this is ignored
*.a       # no .a files
!lib.a    # but do track lib.a, even though you're ignoring .a files above
/TODO     # only ignore the root TODO file, not subdir/TODO
build/    # ignore all files in the build/ directory
doc/*.txt # ignore doc/notes.txt, but not doc/server/arch.txt

gitignore 파일에서 사용하는 패턴들은 위와 같으며, 여기를 클릭해서 더 자세히 알아보면 좋다.



  • Frank 2014.03.26 05:06 신고 ADDR 수정/삭제 답글

    책 보다가 .gitignore 파일을 어떻게 생성하는지 몰랐는데, 간단하네요.
    고맙습니다.

  • 조기원 2014.12.31 00:30 신고 ADDR 수정/삭제 답글

    깔끔한 정리 감사합니다.^^

TOTAL 1,335,029 TODAY 7