처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.06.19 30

.gitignore가 전부가 아니에요: 깃에서 파일 무시하는 4가지 방법

Hacker News 원문 보기
.gitignore가 전부가 아니에요: 깃에서 파일 무시하는 4가지 방법

무시하고 싶은 파일, 방법이 하나가 아니다

깃(Git) 쓰다 보면 추적하고 싶지 않은 파일들이 꼭 생기잖아요. 빌드하면 나오는 결과물이나 node_modules 폴더, API 키가 든 설정 파일 같은 거요. 이럴 때 다들 .gitignore 파일에 적어두죠. 그런데 사실 깃이 파일을 무시하게 만드는 방법은 .gitignore 말고도 여러 가지가 있어요. 상황에 따라 더 깔끔한 방법이 따로 있거든요. 하나씩 풀어볼게요.

1. .gitignore — 팀 전체가 공유하는 무시 목록

가장 익숙한 방법이죠. .gitignore는 저장소 안에 같이 커밋(commit)돼서 팀원 모두에게 공유돼요. 그래서 ‘이건 누가 받아도 무시해야 한다’는 파일에 써야 해요. 컴파일 결과물, 의존성 폴더, 로그 파일처럼 누구의 환경에서나 똑같이 생기는 것들이요. 반대로 나한테만 해당하는 파일을 여기 넣으면, 다른 팀원 입장에서는 ‘이게 왜 여기 있지?’ 싶은 쓸데없는 규칙이 돼버려요.

2. .git/info/exclude — 나만 알면 되는 로컬 무시

이게 진짜 유용한데 의외로 모르는 분이 많아요. 저장소 안의 .git/info/exclude 파일에 패턴을 적으면, .gitignore랑 똑같이 동작하는데 딱 한 가지가 달라요. 이 파일은 커밋되지 않아서 나만 보고 끝난다는 거예요.

예를 들어 내가 개인적으로 만든 메모 파일(todo.txt)이나, 내가 쓰는 특정 에디터 설정처럼 ‘나만 무시하고 싶지 팀에 강요하긴 좀 그런’ 파일들이 있잖아요. 이런 걸 .gitignore에 넣으면 팀원들 설정까지 건드리게 되니까 눈치 보이거든요. 그럴 때 info/exclude에 적어두면 내 작업 공간만 깔끔해지고 남한테는 아무 영향이 없어요.

3. 전역 gitignore — 내 모든 저장소에 한 번에

맥 쓰는 분들 보면 .DS_Store 파일이 여기저기 깃에 올라가서 곤란했던 경험 있을 거예요. 이건 특정 프로젝트 문제가 아니라 내 운영체제나 내가 쓰는 도구 때문에 모든 저장소에서 생기는 파일이잖아요. 이런 건 프로젝트마다 .gitignore에 적기보다 전역(global) 설정으로 한 방에 처리하는 게 깔끔해요.

방법은 이래요. 먼저 무시 규칙을 담을 파일을 하나 만들고(예: ~/.gitignore_global), 깃에게 그 파일을 쓰라고 알려주면 돼요. git config --global core.excludesFile ~/.gitignore_global 이렇게 해두면 내 컴퓨터의 모든 저장소에서 그 규칙이 자동으로 적용돼요. .DS_Store, 에디터 캐시 폴더 같은 ‘내 환경 부산물’을 여기 모아두면 프로젝트 .gitignore가 한결 깨끗해져요.

4. 이미 추적 중인 파일을 무시하고 싶다면

여기서 많이들 헷갈리는 부분이 있어요. .gitignore는 아직 깃이 추적하지 않는 파일에만 효과가 있어요. 이미 한 번 커밋돼서 추적 중인 파일은 .gitignore에 적어도 변경 사항이 계속 잡히거든요.

대표적인 경우가 설정 파일이에요. config.json 같은 파일을 저장소에는 넣어두되, 내 로컬에서만 값을 바꿔 쓰고 그 변경은 커밋하기 싫을 때가 있잖아요. 이럴 때 쓰는 게 git update-index --skip-worktree config.json 명령이에요. 이렇게 하면 깃이 그 파일의 로컬 변경을 못 본 척해줘요. 비슷한 --assume-unchanged 옵션도 있는데, 이건 원래 큰 저장소에서 성능을 위해 변경 검사를 건너뛰는 용도라 의미가 조금 달라요. ‘로컬 수정을 의도적으로 숨기고 싶다’면 --skip-worktree 쪽이 맞아요.

한국 개발자에게 주는 시사점

협업하다 보면 .gitignore에 각자 개인 IDE 설정이 뒤섞여서 충돌 나는 일이 정말 흔하잖아요. 이걸 info/exclude나 전역 gitignore로 분리해두면 팀 공용 규칙과 내 개인 규칙이 깔끔하게 나뉘어서 불필요한 신경전이 줄어요. 설정 파일 로컬 수정 관리도 skip-worktree로 해결하면 ‘실수로 내 로컬 설정을 커밋해버리는’ 사고를 막을 수 있고요.

마무리

핵심은 이거예요. 모두가 무시할 건 .gitignore, 나만 무시할 건 info/exclude, 내 모든 저장소에 적용할 건 전역 설정, 이미 추적 중인 파일은 skip-worktree. 상황에 맞게 골라 쓰는 거죠. 여러분은 이 중 몇 가지나 써보셨나요? 혹시 .gitignore에 개인 설정을 넣었다가 팀원과 부딪힌 경험 있으신가요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.