본문 바로가기
Git, Github

.gitignore 파일 생성(feat. Git에 추가되지 말아야 할 파일 정의)

by 뿌비 2024. 10. 10.
728x90

.gitignore 파일 이란?

  • .gitignore 파일은 Git 저장소에서 무시할 파일과 디렉토리를 지정하는 역할을 한다.
  • 이 파일을 사용하여 Git이 관리할 필요가 없는 파일들을 제외할 수 있다

.gitignore 파일의 용도

1. 특정 파일 무시, 간편한 관리

  • .gitignore 파일을 통해 특정 패턴에 맞는 파일이나 디렉토리를 한 번에 무시할 수 있어 관리가 용이해진다.
  • 예를 들어 .log를 무시하면 모든 로그 파일을 자동으로 제외할 수 있다.

2. 팀 간의 일관성 유지

  • 여러 개발자가 협업하는 프로젝트에서 .gitignore 파일을 사용하면, 모든 팀원이 동일한 파일을 무시하도록 할 수 있다.
  • 이는 프로젝트의 일관성을 유지하고, 다른 개발자에게 불필요한 파일이 커밋되는 것을 방지한다.

3. 버전 관리의 명확성

  • 무시된 파일은 Git의 관리 대상이 아니므로, 코드 변경 이력에서 불필요한 파일이 제외되어 이력을 명확하게 관리할 수 있다.
  • 이를 통해 실제로 버전 관리가 필요한 파일에 집중할 수 있다.

파일을 무시하는 이유는?

1. 불필요한 파일 및 디렉토리

  • 빌드 과정에서 자동으로 생성되는 파일(예: node_modules, dist, build)이나 로그 파일(예: .log)은 일반적으로 버전 관리가 필요하지 않다.
  • 이러한 파일은 다른 개발자에게 불필요한 혼란을 줄 수 있다.

2. 기밀 정보

  • API 키, 비밀번호 등이 포함된 환경 설정파일(예:. env, config.json)은 공개적으로 공유되면 안 되는 기밀 정보를 포함할 수 있기 때문에 이 파일들을 무시함으로써 보안을 강화할 수 있다.

3. 파일 충돌 방지

  • 각 개발자가 사용하는 IDE 설정 파일(.vscode, .idea 등)이나 운영 체제에 특화된 파일(DESStore, Thumbs.db 등)을 무시하면, 협업 시 불필요한 파일 충돌이나 버전 관리 문제를 방지할 수 있다.

4. 저장소 크기 최적화

  • 대용량의 파일이나 디렉토리를 저장소에 포함시키면 Git의 크기가 커지고, push/pull 시 속도 저하 및 대역폭 소모가 발생할 수 있다.
  • 이런 파일들을 무시하면 저장소를 가볍게 유지할 수 있다. 

* 대역폭(bandwidth): 네트워크에서 데이터를 전송할 수 있는 최대 용량


gitignore 파일 생성

  1. 프로젝트 루트 디렉토리로 이동: 프로젝트의 최상위 폴더(루트 디렉토리)로 이동해서 gitignore 파일을 생성해 준다.
  2. .gitignore 파일 생성
    • Windows
      1. 파일 탐색기에서 프로젝트 루트 디렉토리로 이동
      2. 빈 공간에서 오른쪽 클릭 → 새로 만들기텍스트 문서를 선택
      3. 새로 생성된 파일 이름을 .gitignore로 변경(확장자 없이)
    • macOS / Linux
      1. 터미널을 열고 프로젝트 루트 디렉토리로 이동
      2. 다음 명령어를 입력하여 .gitignore 파일을 생성
      touch .gitignore

무시할 파일 설정 

.gitignore 파일 안에 무시할 파일 패턴들을 추가해 준다.

# node_modules 폴더 무시
/node_modules

# OS에 의해 생성된 파일 무시
.DS_Store
Thumbs.db

# 빌드 아티팩트 무시
/dist
/build

# 환경 변수 파일 무시
.env

# 로그 파일 무시
*.log

파일 수정 후 변경 사항 커밋

.gitignore 파일을 수정한 후에는 Git에 변경 사항을 커밋해야 한다.

# git 상태 확인
git status

# 변경 사항 스테이징
git add .gitignore

# 변경 사항을 커밋
git commit -m "커밋 메세지"

무시할 파일이 이미 Git에 올라간 경우

이미 Git에 올라간 파일들은 .gitignore 파일에 추가해도 무시되지 않아서 이 경우, 해당 파일을 Git에서 제거해야 한다.

# 파일 제거
git rm --cached 제거할파일명

# 변경 사항 커밋
git commit -m "커밋메세지"
728x90