관리 메뉴

솜씨좋은장씨

[Git] .gitignore 을 활용하여 필요없는 파일 제외하고 업로드하기 본문

유용한 정보/Git | GitHub

[Git] .gitignore 을 활용하여 필요없는 파일 제외하고 업로드하기

솜씨좋은장씨 2020. 4. 27. 10:24
728x90
반응형

이전에 Git으로 여러사람들과 협업을 할때

 

프로젝트에 참여했던 모두가 venv 가상환경 파일들과 __pycache__파일들까지 모두 GitHub에 push를 하려고하니

 

다른 사람의 __pycache__ 와 push를 하려는 사람의 __pycache__파일에 몇가지 충돌 요소가 있어

 

충돌을 매번 해결하고 merge하느라 고생이 많았던 기억이 있습니다.

 

오늘은 push를 굳이 하지 않아도 되면서 충돌요소가 있는 __pycache__ 같은 파일을 제외하고

 

push를 할 수 있도록 도와주는 .gitignore 설정 방법에 대해서 적어보고자 합니다.

 

1. vi 편집기를 이용하는 방법

$ vi .gitignore

먼저 위의 명령어를 통해 gitignore파일을 생성합니다. (생성이 되어있다면 편집화면으로 이동합니다.)

여기서 이름 앞에 . 이 붙으면 숨김파일로 생성됩니다.

__pycache__
.DS_Store
venv

그 다음 위와 같이 push할 때 제외하고자 하는 파일이나 폴더명 그리고 확장자명을 입력합니다.

$ git add .
$ git commit -m "gitignore test"
$git push origin

그 다음 git add . -> commit -> push 를 진행해보면

.gitignore에 설정한 파일/폴더/확장자는 push가 되지 않은 것을 확인할 수 있습니다.

 

2. .gitignore를 만들어주는 홈페이지를 활용하는 방법

 

gitignore.io

Create useful .gitignore files for your project

www.gitignore.io

하나하나 .gitignore에 입력하기 어려운 상황이라면 위의 홈페이지를 통해서

.gitignore파일을 생성하고 적용하는 방법도 있습니다.

검색창 처럼 생긴 입력창에 키워드를 입력하고 생성을 클릭하면

# Created by https://www.gitignore.io/api/venv,python
# Edit at https://www.gitignore.io/?templates=venv,python

### Python ###
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
pip-wheel-metadata/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
#  Usually these files are written by a python script from a template
#  before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
... (이하 생략)

위처럼 .gitignore 안에 들어갈 내용을 생성하여 보여줍니다.

 

Command Line

 

docs.gitignore.io

홈페이지에서 생성하는 방법 이외에 command line 환경에서 실행하는 방법도 있으니 궁금한 분들은

위의 문서를 참고하시면 좋을 것 같습니다.

 

읽어주셔서 감사합니다.

Comments