기획자를 위한 깃허브 실전 ②.gitignore로 깃허브 업로드 속도를 빠르게 하는 법
VS Code에서 깃허브로 프로젝트를 올릴 때 “pending” 상태로 멈추는 일이 종종 있습니다. 이유는 대부분 node_modules 같은 대용량 폴더가 함께 올라가서인데요, 이를 해결하는 핵심은 바로 .gitignore 파일입니다. 이 글에서는 기획자도 쉽게 이해할 수 있도록, 터미널에서 .gitignore를 설정하는 과정을 포함해 단계별로 설명합니다.

VS Code에서 깃허브로 프로젝트를 올릴 때 “pending” 상태로 멈추는 일이 종종 있습니다.
이유는 대부분 node_modules 같은 대용량 폴더가 함께 올라가서인데요,
이를 해결하는 핵심은 바로 .gitignore 파일입니다.
이 글에서는 기획자도 쉽게 이해할 수 있도록,
터미널에서 .gitignore를 설정하는 과정을 포함해 단계별로 설명합니다.
.gitignore란 무엇인가요?
.gitignore는 “깃이 무시해야 할 파일 목록”을 알려주는 설정 파일입니다.
즉, 이 파일에 적힌 항목은 깃이 추적하지 않습니다.
예를 들어, 아래와 같은 파일은 깃허브에 올릴 필요가 없습니다.
node_modules/: 외부 라이브러리 모음 (용량이 매우 큼).env: 환경변수 파일 (보안 정보 포함)dist/,build/: 빌드 결과물 (다시 생성 가능).DS_Store,Thumbs.db: 운영체제 자동 생성 파일
왜 node_modules는 제외해야 할까?
node_modules 폴더는 패키지 설치 결과물입니다.
이 내용은 package.json 파일에 이미 명시되어 있기 때문에,
다른 개발자는 단순히 다음 명령어 한 줄로 동일한 폴더를 자동 생성할 수 있습니다.
npm install
즉,
- 용량이 크고 (수천 개 파일),
- 자동으로 다시 생성 가능하며,
- 깃허브 업로드를 느리게 만듭니다.
.gitignore 파일 만드는 방법
- VS Code에서 프로젝트 열기
루트 폴더(
README.md파일이 있는 위치)로 이동합니다. - 새 파일 생성
파일 이름:
.gitignore확장자 없이 “점”으로 시작해야 합니다. - 아래 예시 코드 입력 후 저장
# node.js 관련
node_modules/
# 환경 설정 파일
.env
# 빌드 폴더
dist/
build/
# OS별 불필요한 파일
.DS_Store
Thumbs.db
4. 터미널에서 커밋 전 확인
아래 단계는 반드시 터미널(Terminal) 창에서 실행합니다. (VS Code 하단 메뉴 또는 상단 [보기] → [터미널] 선택)
git status
여기에 node_modules 폴더가 표시되지 않아야 .gitignore가 정상 적용된 것입니다.
만약 이미 업로드된 폴더라면, 터미널에서 아래 명령을 실행해 깃 기록에서 삭제합니다.
git rm -r --cached node_modules
git commit -m "Remove node_modules from tracking"
git push
.gitignore는 깃이 파일을 추적하지 않게 하는 설정 파일- VS Code에서 만들고, 터미널에서 적용 확인
node_modules는 제외 필수
정리하면,
| 구분 | 설명 |
|---|---|
.gitignore 역할 | 깃이 추적하지 않을 파일 지정 |
| 대표 제외 대상 | node_modules, .env, dist, build |
| 위치 | 프로젝트 루트 폴더 |
| 확인 방법 | 터미널 → git status |
| 이미 올라간 경우 | git rm -r --cached 명령으로 제거 |
잔잔바리 예상 Q&A
❓ “.gitignore”를 적용했는데도 여전히 pending이에요. → 이미 커밋된 폴더는 수동으로 제거해야 합니다 (
git rm -r --cached).
❓ “왜 터미널에서 꼭 해야 하나요?” →
.gitignore설정은 깃의 내부 추적 기록과 연결되어 있으므로, 터미널 명령을 통해 깃 데이터베이스를 갱신해야 적용됩니다.
❓ “다른 개발자도 이런 설정을 하나요?” → 네. 대부분의 개발자는
.gitignore를 필수로 추가합니다.
.gitignore는 단순한 설정이지만,
프로젝트의 정리 상태와 속도, 협업 효율성을 모두 결정짓는 기본 습관입니다.
기획자라도 이 과정을 직접 해보면, 개발자가 왜 폴더 구조와 관리 방식을 중요하게 여기는지 훨씬 잘 이해할 수 있을 거예요.