깃허브를 사용하다 보면 올리지 말아야 하는 파일들의 패턴이 존재할 때가 있다.
가령 대용량 csv 파일(프로젝트에서는 대부분의 csv 파일은 ignore한다) 이나, .ipynb_checkpoints/ excel 파일 등이 있는데,
git을 수정할 때마다 untracked file로 뜨고 있으니 거슬리기도 하고, 혹여나 git add . 를 해서 잘못 올릴 수도 있으니 이에 대한 방안으로 .gitignore를 사용한다.
.gitignore란?
.git ignore 파일은 git 버전관리에서 제외할 파일 목록을 지정하는 파일이다. 위에서 말한 프로젝트 설정파일이나, 주피터를 만들때 생성되는 .ipynb_checkpoints/ 파일들이 대부분이다.
이런 관리할 필요가 없는 파일들을 git이 track(관리)하지 않도록 git ingore를 설정하는 것이다.
.git ignore 설정하기
현재 .git이 있는 최상위 폴더에서 파일 목록을 보면 다음과 같다.
$ ll -a
total 29
drwxr-xr-x 1 XXXXXX 197121 0 11월 24 14:23 ./
drwxr-xr-x 1 XXXXXX 197121 0 11월 24 10:42 ../
drwxr-xr-x 1 XXXXXX 197121 0 11월 26 11:00 .git/
drwxr-xr-x 1 XXXXXX 197121 0 11월 24 13:25 .ipynb_checkpoints/
-rw-r--r-- 1 XXXXXX 197121 8861 11월 24 14:17 '01_날짜 연산.ipynb'
-rw-r--r-- 1 XXXXXX 197121 5811 11월 24 14:06 02_날짜연산_Series.ipynb
-rw-r--r-- 1 XXXXXX 197121 80 11월 24 14:17 README.md
그리고 git의 현재 상태를 확인한다.
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
.ipynb_checkpoints/
02_날짜연산_Series.ipynb
nothing added to commit but untracked files present (use "git add" to track)
.ipynb_checkpoints/파일은 주피터를 수정할 때마다 변경되는 파일이므로 굳이 github에 올리지 않아도 된다.
그렇다면 .gitignore에
이 때, 폴더에서 직접 .gitignore 파일을 만들어도 되지만, touch 명령어를 사용해 .gitignore 파일을 만들어준다.
$ touch .gitignore
그리고 .git ignore 파일을 편집하기 위해 아래와 같은 명령어를 입력해준다.
$ vi .gitignore
그럼 아래와 같은 창이 뜨는데, 'a'를 입력하여 편집 상태로 만들어 /n를 기준으로 ignore할 목록들을 적어놓고, esc + ":exit"를 입력하면 저장된 상태로 빠져나갈 수 있다.
다시 git의 상태를 확인해보면 gitignore로 설정해놓은 .ipynb_checkpoints/가 사라지고, .gitignore가 생성된 것을 알 수 있다.
git ignore를 적용하려면 최종적으로 .gitignore file을 push해야 한다.
$ git add .gitignore
$ git commit -m 'add gitignore'
$ git push origin master
그럼 해당 github에 gitignore까지 올라가서 적용된 것을 알 수 있다.
참고 사이트
'Code > Git' 카테고리의 다른 글
[Git] warning : LF will be replaced by CRLF in ~~.The file will have its original line endings in your working directory (0) | 2020.11.26 |
---|---|
[git] git push reject error 해결 (0) | 2020.11.24 |
[Git] git commit 취소하기, git commit 수정하기 (0) | 2020.11.20 |
[Git]Git add 명령어 되돌리기 (0) | 2020.11.20 |
[Git] git bash 한글이름 파일 깨짐 해결 (0) | 2020.11.19 |