.gitignore 파일이란?
.gitignore 파일은 Git의 root 디렉토리에 저장되어, Git Repository나 Staging Area에 추가되지 말아야 하는(무시되어야 하는) 폴더나 파일을 정의하는 파일이다. .gitignore에 정의된 파일은 Staging Area에 올라가지 않기 때문에 tracking 되지 않는다. 따라서 git status 를 이용했을 때 보이지 않는다.
.gitignore 이용해 git에 추가되지 말아야 할 파일 정의하기
.gitignore 이용해 폴더 전체 무시하기
다음 줄을 추가함으로써 특정 폴더에 있는 전체 파일을 무시할 수 있다.
[folder name]/
예를 들어 Kotlin이라는 폴더가 있다고 했을 때 이 내부에 있는 파일을 모두 무시하기 위해서는 아래 줄을 .gitignore에 추가하면 된다.
Kotlin/
.gitignore 이용해 특정 확장자 전체 무시하기
다음 줄을 추가함으로써 특정 확장자 전체를 무시할 수 있다.
*.[확장자]
예를 들어 모든 log 확장자 파일을 무시하고 싶을 경우 아래 줄을 .gitignore에 작성하면 된다.
*.log
.gitignore 이용해 특정 파일 무시하기
다음 줄을 추가함으로써 특정 파일을 무시할 수 있다.
[디렉터리 명]/[파일 명]
만약 루트 디렉터리(git의 최상위 디렉터리)에 있는 파일을 무시하고 싶은 경우 다음 줄을 추가하면 된다.
[파일 명]
예를 들어 Kotlin디렉터리의 kotlin.log 파일을 무시하고 싶은 경우 다음과 같이 작성하면 되며
Kotlin/kotlin.log
루트 디렉터리에 있는 .DS_STORE 파일을 무시하고 싶은 경우 아래와 같이 작성하면 된다.
.DS_STORE
주의해야할 점
이미 Staging Area나 Repository에 커밋으로 올라간 파일은 gitignore을 하기 위해서는 먼저 파일을 제거 해야 한다. 파일 제거는 다음 명령어로 가능하다.
git rm [파일명]
git commit -m [메시지]
예를 들어 루트 디렉토리의 app.log 파일이 이미 커밋으로 올라간 경우 다음 명령어를 통해 제거가 가능하다.
git rm app.log
git commit -m "app log 제거"
위와 같이 제거한 후에는 .gitignore가 정상 동작한다.
git add가 되었거나 commit이 된 경우는 .gitignore가 적용되지 않는다. 적용하기 위해서는 먼저 git에서 제거해야한다.