구멍가게 IT 공부방

.gitignore 설정 안잡힐때 본문

형상관리/Git

.gitignore 설정 안잡힐때

방구석코딩 2020. 6. 24. 17:06

 

❗ 문제 상황

.gitignore에 분명히 넣었는데 Git이 해당 파일을 계속 추적함:

# .gitignore 내용
.env

그런데도 .env 파일이 여전히 git status에 나타남...


🔍 원인

Git은 이미 추적 중인 파일은 .gitignore에 있어도 무시하지 않습니다.
즉, 한 번 git add로 올렸던 적이 있다면 .gitignore만 추가해도 무시 안 돼요.


✅ 해결 단계

🎯 목표: .env 파일을 Git이 무시하게 만들기


📌 1단계: .gitignore에 파일 또는 폴더 명시

# .gitignore 파일
.env
node_modules/
*.log

.gitignore는 프로젝트 루트(보통 .git 폴더가 있는 곳)에 있어야 함


📌 2단계: Git의 추적에서 파일 제거

이미 추적 중인 파일은 수동으로 제거해야 합니다.

git rm --cached .env
  • --cached: 로컬에서는 파일을 삭제하지 않고, Git에서만 추적 해제

📌 3단계: 변경 사항 커밋

git commit -m "Remove .env from tracking and update .gitignore"

📌 4단계: 확인

git status
  • .env가 이제 추적 목록에 안 나와야 정상입니다.
  • 앞으로는 Git이 이 파일을 완전히 무시합니다.

📌 5단계: 푸시 (선택사항)

git push

🎯 전체 예제 (터미널 명령어 순서)

echo "SECRET_KEY=1234" > .env       # 예제 .env 파일 생성
echo ".env" >> .gitignore           # .gitignore에 추가
git add .gitignore                  # .gitignore 커밋할 준비
git rm --cached .env               # Git 추적에서만 제거
git commit -m "Ignore .env file"
git push                           # 원격 저장소 반영

🛠️ 팁: .gitignore은 이런 것도 포함 가능해요

# 디렉토리 무시
/dist/

/build/

/node_modules/

# OS별 설정
.DS_Store
Thumbs.db

# IDE별 설정
.vscode/
.idea/

# 로그 파일
*.log

필요하면 .gitignore 자동 생성해주는 사이트도 있어요:

'형상관리 > Git' 카테고리의 다른 글

깃 브랜치(git branch)  (0) 2025.04.08
What is Git?  (0) 2025.04.05
미리 생성되어있는 저장소(repository)에 프로젝트를 올리는 방법  (0) 2020.06.24
git init 과 --bare 옵션  (0) 2020.06.24
Comments