2017. 10. 5. 21:36ㆍ프로그래밍/git
요즘 github
와 gitlab
에 몇 가지 프로젝트를 진행하고 있습니다. 개인적인 프로젝트도 있고 업무적인 프로젝트도 있지요. 개인적인 프로젝트는 틈틈히 시간이 날 때마다 커밋을 하고 있기는 한데, 회사 업무와는 다르게 새로운 언어와 프레임워크를 다뤄보고자 연습겸 진행하고 있습니다. 얼른 배워서 잘 써먹고 싶네요.
잡설은 여기까지만 하고 본론으너 넘어가자면, git으로 프로젝트를 관리하다 보면, 트래킹이 필요한 파일과 필요하지 않은 파일들이 있습니다. 그러니까 git프로 추적하지 않아도 될 파일이 있는 거죠. 이런 파일들을 무시하도록 목록을 작성하는 파일이 gitignore입니다. gitignore에 파일 명 또는 확장자 등을 설정해 두면 해당 파일들은 git에서 더이상 추적을 하지 않게 됩니다. 다만 문제는 gitignore 파일을 설정할 때 IDE에서 생성하는 파일들은 어떤 것이 있는지, 프레임워크에서 생성하는 필요없는 파일들은 어떤 것이 있는지를 잘 모른다는 겁니다. 다른 사람의 강좌를 따라하는 프로젝트들의 경우 gitignore까지 써주기 때문에 별로 상관이 없지만, 업무적인 프로젝트를 진행할 때는 좀 고민이 되더라구요. 그러다 발견한 게 바로 이 gitignore.io
라는 서비스였습니다.
gitignore.io 바로가기 : https://www.gitignore.io/
gitignore.io
는 사용하는 언어, IDE, 운영체제 등을 입력하면 자동으로 gitignore 파일을 생성해주는 서비스입니다. 굉장히 간단하고 직관적이죠. 해당 페이지에 접속할 경우 위와 같은 페이지를 보게 되는데요, 이 페이지에서 바로 기능을 사용할 수 있습니다. 바로 확인해볼까요?
개인 프로젝트에서 사용하고 있는 Python을 입력하기 위해 py까지만 입력하였습니다. 위와 같이 py가 포함되는 언어 또는 IDE 등을 추천해주기 때문에 쉽게 사용할 수 있습니다.
저는 간단히 보여드리기 위해 Python과 Django만 추가했습니다. 여러분들은 여러분들이 사용하시는 언어, IDE, 프레임워크 등을 입력해보세요. :) 입력하신 후엔 Create
버튼을 눌러주시면 됩니다.
이렇게 손쉽게 gitignore의 내용을 만들어준답니다. 만들어진 gitignore 내용은 아래와 같답니다.
# Created by https://www.gitignore.io/api/python,django ### Django ### *.log *.pot *.pyc __pycache__/ local_settings.py db.sqlite3 media # If your build process includes running collectstatic, then you probably don't need or want to include staticfiles/ # in your Git repository. Update and uncomment the following line accordingly. #/staticfiles/ ### Python ### # Byte-compiled / optimized / DLL files *.py[cod] *$py.class # C extensions *.so # Distribution / packaging .Python build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ wheels/ *.egg-info/ .installed.cfg *.egg # 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 # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *.cover .hypothesis/ # Translations *.mo # Django stuff: # Flask stuff: instance/ .webassets-cache # Scrapy stuff: .scrapy # Sphinx documentation docs/_build/ # PyBuilder target/ # Jupyter Notebook .ipynb_checkpoints # pyenv .python-version # celery beat schedule file celerybeat-schedule # SageMath parsed files *.sage.py # Environments .env .venv env/ venv/ ENV/ env.bak/ venv.bak/ # Spyder project settings .spyderproject .spyproject # Rope project settings .ropeproject # mkdocs documentation /site # mypy .mypy_cache/ # End of https://www.gitignore.io/api/python,django
아주 간단하죠? gitignore.io
는 커맨드라인으로도 사용할 수 있답니다. 메인 페이지에서 Command Line Docs
에 접속하면 운영체제별, 터미널별로 설치하는 방법이 친절하게 나와 있답니다. 아래처럼 말이죠!
나타난 대로 설치를 진행한 이후엔 커맨드라인으로 바로 사용할 수 있답니다. $ gi python,django
와 같이 입력할 경우 gitignore 내용이 바로 터미널에 나타납니다. $ gi python,django >> .gitignore
와 같이 사용할 경우 내용이 바로 gitignore 파일로 생성된답니다. 윈도우의 경우엔 $ gi
명령어 대신에 $ gig
명령어를 사용하셔야 한답니다.
지금까지 gitignore를 빠르고 간편하게 만드는 방법을 알아봤습니다. 저는 요즘 요 gitignore.io
로 생성한 이후 필요한 것과 필요하지 않는 것들을 추가/제거하여 사용하고 있답니다. 여러분도 사용해보세요. :) 부족한 글 봐주셔서 감사합니다.
※ 부족한 부분이 보이실 경우 댓글로 알려주시면 반영하여 수정하도록 하겠습니다!