상세 컨텐츠

본문 제목

[ Git ] 깃 저장소에 올릴 파일을 제외하는법 (.gitignore)

실무/[ 기타 ]

by glenn93 2024. 5. 11. 20:22

본문

728x90
반응형

 

.gitignore란?

프로젝트를 개발후 깃 저장소(repository)에 올린다고 가정해보자.

원하는 파일 몇가지를 올리고 싶은데 불특정 파일도 changes에 잡히는 경우를 접하곤 한다. 이때, .gitignore 설정 파일에 원치 않는 파일을 명시하여 commit > changes 목록에 보이지 않게 설정이 가능하다.

▶ example
필자는 리액트를 설치하였고,  node_modules디렉토리가 생성되었다.  개발을 진행 할때마다 다수의 파일들이 변경 및 추가 되었고 계속 수만개의 changes목록에 잡혔다.

▶ 왜 node_modules파일은 저장소에 올리지 않는가?
대부분의 프로젝트는 패키지 매니저(package.json / yarn.lock)를 사용하여 종속성을 관리한다. 
패키지 매니저만 올리며, 
node_modules 를 Git 저장소에 추가하는 것은 저장소를 복제하거나 업데이트하는 데 많은 시간이 걸리며,
저장소의 크기도 크게 증가한다. 따라서 속도와 효율성이 저하된다.
따라서, node_modules 디렉토리를 Git 저장소에 추가하는 대신 .gitignore파일에 이 디렉토리를 포함하여 Git이 이를 무시하도록 설정한다.

 

.gitignore 사용법

.gitignore은 작성법을 따라 본인이 직접 작성하는 경우도 있지만.

필자는 자동 생성 사이트를 이용한다.

https://www.toptal.com/developers/gitignore/

 

gitignore.io

Create useful .gitignore files for your project

www.toptal.com

 

 

인텔리제이 디렉토리 색상별 상태
  • 흰색
    저장소에 올라간 후에 어떠한 수정도 없는 상태. (저장소에 올라간 파일과 똑같은 상태)
  • 노란색
    .gitignore 파일을 통해 제외한 파일들
  • 빨간색
    저장소에 존재하지 않는 파일.
  • 파란색
    저장소와 내 컴퓨터에 있는 파일인데 "수정"된 상태. (즉, 저장소에 올라간 파일과 내 컴퓨터에 있는 파일의 내용이 다른 상태)
  • 초록색
    Git에 commit만 하고 push는 하지 않은 상태. (push하면 흰색으로 바뀐다.)

 

.gitignore파일을 수정해도 미적용 된다면?

터미널에서 해당 프로젝트 최상위 경로로 가서 아래 명령어로 캐시를 제거해준다.

1. git rm -r --cached .
2. git add .
3. git commit -m "clear git cache"
4. git push
728x90
반응형

관련글 더보기