[Git] .gitignore 사용해 git에 추가되지 말아야 할 파일 정의하기

정재현·2024년 2월 15일

Git & Github

목록 보기
15/16
post-thumbnail

.gitignore 파일이란

Git의 root 디렉토리에 저장되어, Git Repository나 Staging Area에 추가되지 말아야 하는(무시되어야 하는) 폴더나 파일을 정의하는 파일

  • .gitignore에 정의된 파일은 Staging Area에 올라가지 않기 때문에 tracking 되지 않는다.
  • 따라서 git status 를 이용했을 때 보이지 않는다.

git에 추가되지 말아야 할 파일 정의하기

.gitignore 이용해 폴더 전체 무시하는 방법

디렉토리 명/

ex.
Kotlin/

.gitignore 이용해 특정 확장자 전체 무시하는 방법

*.확장자

ex.
*.log
*.c

.gitignore 이용해 특정 파일 무시하는 방법

디렉토리 명/파일명

ex.
Kotlin/kotlin.log

root 디렉토리에 있는 파일을 무시하고 싶은 경우

파일명

root 디렉토리에 있는 .DS_STORE 파일을 무시하고 싶은 경우

.DS_STORE

.gitignore 파일에서 사용되는 패턴

  • * : 현재 디렉토리 내의 모든 파일을 의미
  • ** : 현재 디렉토리와 하위 디렉토리 내의 모든 파일을 의미
**/application.properties
  • ? : 한 글자를 의미
image?.png : image1.png, image2.png 등
  • / : 디렉토리 구분자로 사용되며, 경로를 의미
  • ! : 파일을 무시하지 않도록 지시
!**/src/main/**/build/
  • # : 해당 줄을 주석 처리하여 무시
  • [] : 문자 클래스를 나타내며, 대괄호 안에 나열된 문자 중 하나와 일치
[abc] :  'a', 'b', 'c' 중 하나와 일치
  • \ : 특수 문자를 문자 그대로 해석하도록 설정
\* : 문자 * 자체를 의미

주의사항

이미 Staging Area나 Repositoy에 커밋으로 올라간 파일은 gitignore를 하기 위해서는 먼저 파일을 제거해야 한다.

  • 즉, git add가 되었거나 commit이 된 경우는 .gitignore가 적용되지 않는다.
  • 따라서 .gitignore를 적용하기 위해서는 먼저 git에서 제거해야한다.
git rm 파일명
git commit -m "commit message"

ex. 이미 루트 디렉토리의 app.log 파일이 이미 커밋으로 올라간 경우
git rm app.log
git commit -m "app.log 제거"

profile
공부 기록 보관소

0개의 댓글