[깃헙] gitignore로 .ipynb_checkpoints 없애기

Hanna Kim·2020년 12월 6일
1

최근 프로젝트를 위해 깃헙을 써봤다.

파일을 깃에 커밋하다보면 주피터 노트북에서 사용되는 ipynb_checkpoints가 같이 올라간다. 주피터노트북에서 autosave를 위해 사용되는 폴더이다.
이와 함께 debug.log 파일도 자동적으로 만들어진다.

이렇게 자동으로 생성되는 로그 파일은 깃으로 관리할 필요가 없다.
이럴때 .gitignore을 사용해서 깃에게 해당 파일을 무시하도록 명령할 수 있다

방법은 간단하다

  1. 터미널을 열고 main 브랜치에서 touch .gitignore을 입력한다

  2. ls -a를 입력하면 gitignore파일이 생성된 것을 확인할 수 있다.

  3. vi .gitignore를 입력하면 파일을 수정할 수 있다

  4. 나오는 에디터에 track하지 않을 파일을 입력하면 된다.
    나는 ipynb_checkpoints를 없애고 싶어서 아래와 같은 코드를 입력했다. *로 감싸진 부분은 그 폴더 안의 파일까지 무시한다는 뜻이다.

.ipynb_checkpoints
*/.ipynb_checkpoints/*

명령 모드에서 에디터 i를 입력하면 파일 편집이 가능하고,
작성 후 다시 esc를 누르면 명령 모드로 돌아올 수 있다.
명령 모드에서 :wq를 입력하면 저장 후 나올 수 있다.

만약 프로젝트 중간에 gitignore 파일을 만들었다면

  1. 앞으로의 변경 사항만 track하지 않는 것이기 때문에, 이렇게 입력한다고 해서 이미 올라갔던 파일이 지워지는 것은 아니다. 그래서 이미 올라간 파일을 ignore하고 싶다면 깃에 올라간 파일의 캐시도 지워줘야한다. 이때 커밋까지 해줘야 반영된다.
# 로컬에서 캐시 지우기
git rm -r --cached .ipynb_checkpoints

# 깃에 반영
git add .
git commit -m "Ignore ipynb_checkpoints"
git push
  1. 나중에 또 track하지 않을 파일을 지정해주고 싶다면 위 절차의 3번부터 따라하면 된다.
    예를 들어 debug.log도 삭제하기 위해서는 vi .gitignore을 입력하고 에디터에 debug.log를 추가로 입력하면 된다.

gitignore과 관련된 설명은 여기서:
https://www.atlassian.com/git/tutorials/saving-changes/gitignore

아래 사이트에서 태그 자동완성으로 gitignore 파일에 필요한 문구를 만들수도 있다.
https://www.toptal.com/developers/gitignore

profile
쌓으며 배우는 중

0개의 댓글