“.gitignore” 사용법, 파일 하나로 Git이 달라집니다
들어가며
Git을 처음 배우다 보면 .gitignore라는 파일을 자주 만나게 됩니다.
Git 프로젝트를 GitHub에 올리려고 검색하다 보면 거의 빠지지 않고 등장하는 파일이기도 합니다.
그런데 막상 .gitignore 파일을 열어보면 이런 내용이 들어 있습니다.
*.log
.env
build/
target/
.idea/
node_modules/
처음 보는 사람 입장에서는 조금 당황스럽습니다.
*는 무엇이고 /는 왜 붙어 있는지, 파일 이름만 적는 것과 폴더 이름 뒤에 /를 붙이는 것은 어떤 차이가 있는지 궁금해집니다.
사실 .gitignore의 기본 문법은 생각보다 어렵지 않습니다.
이번 글에서는 Git을 처음 사용하는 분을 기준으로 .gitignore가 무엇인지, 기본 문법은 어떻게 사용하는지, 실제로 어떤 파일을 등록하는지를 하나씩 정리해보겠습니다.
.gitignore는 어떤 파일일까?
.gitignore는 Git에게 “이 파일이나 폴더는 Git에서 관리하지 않았으면 좋겠다”라고 알려주는 설정 파일입니다.
파일 이름 자체가 .gitignore이며 보통 Git 저장소의 최상위 디렉터리에 만들어 사용합니다.
예를 들어 프로젝트가 다음과 같다고 해보겠습니다.
my-project/
├── .git/
├── .gitignore
├── src/
├── build/
├── README.md
└── test.log
여기서 build 폴더와 test.log 파일을 Git에서 관리하고 싶지 않다면 .gitignore에 다음과 같이 작성할 수 있습니다.
build/
*.log
그러면 Git은 해당 규칙에 맞는 파일을 기본적인 추적 대상에서 제외합니다.
가장 간단한 .gitignore 문법
처음에는 복잡한 문법을 전부 외울 필요가 없습니다.
자주 사용하는 몇 가지만 알아두면 충분합니다.
특정 파일 제외하기
특정 파일 하나를 제외하고 싶다면 파일 이름을 그대로 작성하면 됩니다.
test.txt
이렇게 작성하면 test.txt를 무시하도록 설정할 수 있습니다.
환경설정 파일인 .env도 같은 방식입니다.
.env
개발 프로젝트에서는 .env를 제외하는 경우가 상당히 많습니다.
특정 확장자를 가진 파일 제외하기
여러 개의 파일을 한꺼번에 제외하고 싶을 때는 *를 사용할 수 있습니다.
예를 들어 로그 파일을 모두 제외하려면 다음과 같이 작성합니다.
*.log
그러면 다음과 같은 파일들이 대상이 됩니다.
server.log
error.log
debug.log
application.log
파일 이름은 달라도 .log로 끝난다면 규칙에 포함됩니다.
이 방식은 로그 파일이나 특정 종류의 임시 파일을 제외할 때 유용합니다.
특정 폴더 제외하기
폴더를 제외할 때는 폴더 이름 뒤에 /를 붙여 작성하는 방법이 일반적입니다.
build/
예를 들어 다음과 같은 구조라면
build/
├── classes/
├── resources/
└── tmp/
build/ 규칙에 따라 해당 디렉터리와 그 안의 파일들을 무시할 수 있습니다.
Java 프로젝트에서 빌드 결과물을 제외할 때 자주 볼 수 있는 형태입니다.
Maven 프로젝트라면 다음과 같이 작성하는 경우가 많습니다.
target/
Gradle 프로젝트에서는 다음과 같이 사용할 수 있습니다.
build/
.gradle/
주석은 #으로 작성한다
.gitignore 파일이 길어지면 어떤 목적으로 추가한 규칙인지 구분하기 어려울 수 있습니다.
이럴 때 #을 사용해서 주석을 작성할 수 있습니다.
# 로그 파일
*.log
# 환경설정 파일
.env
# 빌드 결과
build/
target/
# IDE 설정
.idea/
.vscode/
이렇게 작성해두면 나중에 .gitignore를 다시 열었을 때도 내용을 쉽게 파악할 수 있습니다.
실제 프로젝트에서도 이런 식으로 종류별로 정리해두면 관리하기 편합니다.
개발자들이 자주 사용하는 .gitignore
프로젝트 종류에 따라 필요한 내용은 달라집니다.
예를 들어 Node.js 프로젝트라면 다음과 같이 작성할 수 있습니다.
node_modules/
.env
*.log
Java 프로젝트라면 다음과 같이 시작할 수 있습니다.
target/
build/
.gradle/
.idea/
*.iml
*.log
Python 프로젝트라면
__pycache__/
*.pyc
.venv/
.env
처럼 구성할 수 있습니다.
물론 이것이 모든 프로젝트에서 반드시 정답이라는 뜻은 아닙니다.
프로젝트에서 실제로 사용하는 개발 환경과 빌드 도구에 맞춰 필요한 항목만 추가하는 것이 좋습니다.
.gitignore에 추가하면 파일이 삭제될까?
여기서 초보자들이 가장 많이 헷갈리는 부분이 있습니다.
.gitignore에 파일을 추가한다고 해서 컴퓨터에 있는 파일이 삭제되는 것은 아닙니다.
예를 들어
*.log
를 추가했다고 해서 기존의 server.log 파일이 컴퓨터에서 사라지는 것은 아닙니다.
단지 Git이 해당 파일을 관리 대상으로 취급하지 않도록 하는 것입니다.
따라서 .gitignore는 파일 삭제 기능이라기보다는 Git의 추적 대상을 관리하는 설정이라고 이해하는 것이 정확합니다.
.gitignore에 추가했는데 Git에 계속 나온다면?
이 부분도 상당히 중요합니다.
이미 Git이 해당 파일을 추적하고 있는 상태에서 나중에 .gitignore에 추가했다고 해서 기존 추적이 자동으로 해제되는 것은 아닙니다.
예를 들어 .env를 이미 커밋한 다음 .gitignore에 추가했다고 생각해보겠습니다.
.env
그런데도 Git에서 .env가 계속 관리되는 것처럼 보일 수 있습니다.
이 경우에는 Git의 추적 대상에서 별도로 제거해야 합니다.
git rm --cached .env
그리고 변경사항을 커밋합니다.
git add .gitignore
git commit -m "Update gitignore"
여기서 --cached가 중요한데, 로컬 컴퓨터에 있는 .env 파일 자체를 삭제하는 것이 아니라 Git의 관리 대상에서만 제거하는 방식입니다.
git status로 확인하기
.gitignore를 설정했다면 git status를 이용해서 제대로 적용됐는지 확인할 수 있습니다.
git status
예를 들어 *.log를 설정했는데 로그 파일이 Git의 변경 목록에 나타나지 않는다면 정상적으로 무시되고 있을 가능성이 높습니다.
개발하면서 문제가 생겼을 때는 무작정 파일을 삭제하기보다 먼저 git status를 확인하는 습관을 들이는 것이 좋습니다.
Git이 현재 어떤 파일을 변경된 것으로 보고 있는지 확인할 수 있기 때문입니다.
.gitignore에서 가장 주의할 파일
.gitignore를 처음 작성한다면 단순히 불필요한 파일만 생각하기보다 민감한 정보가 들어가는 파일도 확인해야 합니다.
대표적인 것이 .env 파일입니다.
.env
여기에 데이터베이스 접속 정보나 API Key 등의 환경설정 값이 들어가는 경우가 있기 때문입니다.
다만 .gitignore에 등록했다고 해서 보안 문제가 완전히 해결되는 것은 아닙니다.
이미 비밀번호나 API Key가 Git 저장소에 커밋된 상태라면 .gitignore에 나중에 추가하는 것만으로 과거 커밋에 남아 있는 정보가 없어지는 것은 아닙니다.
따라서 민감한 정보를 Git에 올리지 않는 습관 자체가 가장 중요합니다.
처음에는 이것만 기억해도 충분하다
.gitignore를 처음 접했다면 모든 문법을 외우려고 할 필요는 없습니다.
일단 다음 정도만 기억해도 기본적인 프로젝트 관리에는 상당히 도움이 됩니다.
# 특정 파일
.env
# 특정 확장자
*.log
# 특정 폴더
build/
# IDE 설정
.idea/
.vscode/
그리고 다음 명령어도 함께 기억해두면 좋습니다.
git status
현재 Git에서 변경된 파일을 확인할 수 있습니다.
이미 추적 중인 파일을 Git의 관리 대상에서 제거해야 한다면
git rm --cached 파일명
을 사용할 수 있습니다.
마무리
.gitignore는 처음 보면 별것 아닌 파일처럼 보이지만 Git을 제대로 사용하려면 알아두는 것이 좋습니다.
기본 원리는 정말 간단합니다.
Git으로 관리하지 않을 파일과 폴더를 .gitignore에 작성한다.
파일 하나를 제외하고 싶으면 파일 이름을 적고, 특정 확장자를 제외하고 싶다면 *.log처럼 *를 사용합니다.
폴더는 build/, target/처럼 작성할 수 있고 #을 사용하면 주석도 추가할 수 있습니다.
그리고 가장 중요한 것은 이미 Git이 추적하고 있는 파일은 .gitignore에 추가하는 것만으로 추적이 중단되지 않는다는 점입니다.
Git을 처음 배우는 단계라면 우선 .gitignore에 node_modules, build, target, .idea, .vscode, .env, 로그 파일 등을 프로젝트에 맞게 추가하는 것부터 시작해보세요.
이 정도만 알아도 git add .를 실행했을 때 필요 없는 파일까지 잔뜩 올라가는 문제를 상당 부분 줄일 수 있습니다.
Git을 편하게 사용하려면 명령어를 많이 외우는 것보다 어떤 파일을 Git으로 관리해야 하고 어떤 파일은 관리하지 않아야 하는지 구분하는 것부터 익히는 것이 더 중요합니다.
홍TV



![Eclipse에서 갑자기 "[m2e] Lifecycle Mapping" 오류? Maven 프로젝트가 빨간 줄 뜨는 이유 4 Eclipse에서 갑자기 [m2e] Lifecycle Mapping 오류? Maven 프로젝트가 빨간 줄 뜨는 진짜 이유](https://hongtv.co.kr/wp-content/uploads/2026/09/62edeb0f-aaf8-42cc-af31-1a91e54bc187-300x200.png)
댓글 0
첫 댓글을 남겨보세요.