⚙️ Git

[Git] .gitignore 파일은 뭘까? 그리고 언제 사용할까?

.gitignore이라는 이름은 들었지만, 정작 사용할 필요성이 느껴지지 않아서
그냥 넘어가던 지식이었습니다. 하지만, 이번에 깃허브를 사용하다가
필요성이 느껴져서 공부하고 정리하게 되었네요 👋

 

 

.gitignore 파일이란?

.gitignore 파일이란, 사용자가 원하지 않는 파일들 즉, Git 버전 관리에서 제외할 목록을 지정하는 파일인데요.

 

git으로 프로젝트를 관리하다 보면 git에는 올려서는 안 되거나 불필요한 파일들이 있을 것입니다.

 

물론, 명령어로 일부 파일만 제외하면 되겠지만, 모든 커밋에 그런 행동을 하는 것은 매우 귀찮고 힘든 일이겠죠? 따라서, gitignore라는 파일을 만들어서 무시할 파일들을 넣어주는 것입니다.

 

 

그러면 .gitignore 파일을 생성해보자! 😤

.gitignore은 자신이 이용하는 에디터의 .git 파일이 존재하는 곳과 같은 디렉터리에 생성해주면 됩니다.

스크린샷 2021-07-29 오후 5 55 58

 

물론, 아래의 예시처럼 터미널에서도 .gitignore 파일을 만들어줄 수 있습니다!

// .gitignore 파일을 생성
$ touch .gitignore

// .gitignore은 숨김 파일이므로, ls가 아닌 ls -a, la, ls -al 등의 명령어로 확인 가능
$ la
$ ls -a
$ ls -al

// .gitignore 파일을 수정. 물론 에디터에서도 수정 가능함
$ vi .gitignore

 

 

그 후에, Git의 추적(Track)을 피하고 싶은 파일명들을 위에서 만들어준 .gitignore 파일에 적어주면 됩니다. 매우 쉽죠? 😋

스크린샷 2021-07-29 오후 6 15 32

 

 

github에 있는 파일들을 삭제하고 .gitignore에 적용

아쉽게도 이미 git 버전 관리에 들어가 있는 파일들을 .gitignore 파일에 적용한다고 해서, 이미 관리되고 있는 파일들이 제외되지는 않습니다.

 

즉, Git이 계속해서 해당 파일들을 추적(Track)하고 있다는 뜻입니다.

 

만약 자신의 원격 저장소에 있는 파일을 삭제하고 앞으로 추적(Track)을 받고 싶지 않다면 어떻게 해야 할까요?


방법은 간단합니다! 수동으로 해당 파일들을 아래의 명령어를 이용하여 버전 관리에서 제외시켜주면 됩니다.

 

// 현재 레포지토리의 캐시를 모두 삭제한다.
$ git rm -r --cached .

// .gitignore에 넣은 파일 목록들을 제외한, 모든 파일들을 다시 추적(Track)하도록 설정
$ git add .

$ git status
$ git commit -m "commit message"

이렇게 하면 .gitignore 파일에 추가한 파일들은 더 이상 추적(Track)을 받지 않게 됩니다. 

 

 

.gitignore을 쉽게 사용하도록 도와주는 사이트

.gitignore.io라는 이 사이트에서는 자신의 프로젝트 환경을 위에다가 입력하면, 그에 맞는 .gitignore 파일을 만들어줍니다.

 

저는 아직 사용해보진 않았지만, gitignore 파일을 어떻게 사용해야 할지 모르는 분들은 이 사이트를 이용해보면 좋을 거 같네요 :)

 


References

gitignore란 무엇일까?

.gitignore 설정하기