[git] .gitignore와 git cache

piopiop·2021년 1월 1일
0

git

목록 보기
1/1

엊그제부터 django를 이용해 정글에서 사용할 간단한 코드리뷰 게시판을 만들기 위해 3명이 협업하고 있는데 처음 사용해보는 django보다 git을 사용하는 게 훨씬 어려운 것 같다.

협업을 하기로 한 첫날 순수한 마음으로 가상환경까지 push했는데 다른 팀원들과 파이썬 버전이 안맞아 서버가 실행이 되지 않았다.
그래서 깃 초보자인 우리는 저장소에서 가상환경 폴더를 없애기 위해 여러가지 방법을 시도해 봤다.
가상환경 폴더를 삭제해보기도 하고 뒤늦게 gitignore에 넣어보기도 했는데 pull할 때마다 가상환경 폴더가 계속 돌아오는 것이다.
그렇게 venv폴더와 씨름하다 밥을 먹고 왔는데 한 친구가 구세주처럼 해결방법을 가져왔다.

해결방법

가장 좋은 방법은 처음부터 gitignore에 추가하는 것이지만
추가하기 이전에 commit, push를 했던 경우 gitignore에 추가를 한 뒤 git cache를 삭제해야 한다.

git cache에는 해당 시점에 git commit이 호출되면 커밋 될 트리가 포함된다.

그래서 뒤늦게 gitignore에 추가해도 cache에서 기억하고 있기에 stage에 계속 표시가 되는 것이다.

git rm -r --cached .
#모든 캐시 삭제

위 과정을 마치고 지긋지긋한 venv 폴더와 작별할 수 있었다.

profile
piopiop1178@gmail.com

0개의 댓글