Github .gitignore 설정하기
Github를 이용하여 개발을 하다 보면 해당 리포지토리(Repository)에 특정 파일 혹은 디렉터리 혹은 OS, 애플리케이션 기본 설정 등을 커밋(Commit)을 하지 않아야 하는 경우가 있다.
그런 경우를 대비해서 Github는 해당 리포지토리에 .gitignore 파일이 존재하면 해당 파일 안에 작성된 내용에 대해서는 자체적으로 무시를 하고 커밋(Commit)을 진행할 수 있다.
하지만 매번 같은 환경과 언어로 작성한 프로젝트마다 생성하는 것이 매우 귀찮을 수 있다.
또한, 기본적으로 OS나 애플리케이션, IDE 등과 같은 기본적으로 많이 사용하는 부분에 대해서는 미리 설정을 하여 미연에 방지를 하면 더욱 좋을 것이다.
그래서 이번에는 여러 방법으로 Github에 .gitignore 설정 파일을 사용하는 방법에 대해서 알아보고자 한다.
1. 해당 리포지토리(Repository)에 .gitignore 설정하기
리포지토리(Repository)에 .gitignore 위치에 따라서 해당 파일을 리포지토리(Repository)에 업로드하거나 하지 않도록 설정이 가능하다.
그럼 일단 기본적으로 많이 사용하는 방법에 대해서 알아보도록 하자.
1.1 해당 리포지토리(Repository)에 .gitignore 업로드 및 설정하기
해당 부분은 아마도 제일 많은 사람들이 이용하는 방법이라고 생각한다.
모든 리포지토리(Repository)에 .gitignore 파일을 생성 후 같이 커밋(Commit) 후 업로드를 하는 것이다.
Github에서도 처음 리포지토리(Repository)를 생성하려고 할 때 해당 파일을 생성할 수 있도록 추가(Add) 할 수 있도록 되어 있다.
또한, 추가(Add) 시 해당 프로젝트에서 사용하는 프로그래밍 언어 혹은 프레임워크 등 선택할 수 있다.
하지만 해당 부분은 반드시 필수적을 진행해야 하는 항목은 아니다.
만약 .gitignore 파일을 리포지토리(Repository)를 생성시점에 만들지 못했다면 직접 만들어 커밋(Commit)을 하면 된다.
직접 만들 경우 아래 2개 사이트를 참고하면 매우 도움이 될 수 있다.
그중 "gitignore" 사이트는 지금 개발하고 있는 OS, IDE, 프로그래밍 언어를 검색해서 넣어주면 자동적으로 생성을 해주는 매우 좋은 사이트이다.
그리고 github에서 제공하는 "gitignore" 사이트는 각 OS, IDE, 프로그래밍 언어에 대해서 각각 제외해야 하는 내용을 작성해놓았다.
1.2 해당 리포지토리(Repository)에 .gitignore 업로드하지 않고 설정하기
이번에는 .gitignore를 사용하지만 해당 리포지토리(Repository)에는 업로드하지 않거나 공개하지 않도록 설정을 하는 방법에 대해서 알아보도록 하겠다.
일단 .gitignore를 공개하는 것이 반드시 필수 조건은 아니지만 그래도 대부분 프로젝트에서는 공개를 하여 사용하는 경우가 많다.
하지만 개인 혼자 개발하는 것이 아니라 여러 명이 개발하는 경우 아니면 모든 사람이 확인해야 하는 경우 등 여러 이유로 문제가 발생을 야기시킬 수 있다.
해당 부분은 로컬 리포지토리(Local Repository)에서 설정하면 .gitignore 파일에 속한 내용들은 제외 되면서 .gitignore 파일은 커밋(Commit) 및 Github에 업로드되지 않는다.
설정 방법은 먼저 리포지토리(Repository) 내에 .git 폴더 그리고 info 디렉터리를 확인하고 exclude 파일이 있는지 확인하도록 하자.
대부분 존재하겠지만 만약 없다면 생성해 주도록 하자.
- $ {Repository_Path}/.git/info/exclude
해당 exclude 파일 내에 설정한 내용에 대해서는 기존과 동일하게 커밋(Commit) 및 Github에 업로드되지 않는다.
다만, 위에서도 이야기 한대로 이 부분은 해당 로컬 리포지토리(Local Repository)에서만 적용받는 설정이 된다.
2. 로컬 PC 글로벌(Local PC Global) .gitignore 설정하기
첫 번째 방법으로 사용해도 되지만 기본적이고 공통적인 내용을 계속적으로 리포지토리(Repository)를 생성할 때마다 설정하는 것을 매우 귀찮은 일이다.
또한, .gitignore를 설정하는 것으로 깜빡하고 커밋(Commit) 및 업로드를 하는 경우 원하지 않는 파일 혹은 중요한 파일들이 업로드될 수도 있다.
그래서 로컬 PC(Local PC)에 글로벌(Global) .gitignore 설정을 통해서 모든 리포지토리(Repository)에 .gitignore 설정 여부와 상관없이 미리 설정한 내용으로 사용이 가능하다.
설정 방법은 일단 글로벌(Global)로 사용할 gitignore 파일을 생성해야 한다.
파일은 본인 편하게 수정할 수 있는 위치에 놓는 게 제일 좋은 것 같다.
그래야 나중에 제외해야 하는 부분에 대해서 추가 / 삭제가 용이하다.
이제 해당 파일을 생성을 완료하였다면 git 명령어를 통해서 글로벌(Global) 설정을 해주면 된다.
- $ git config --global core.excludesfile {파일 위치}
- $ git config --list
$ git config --list
... 이하 생략 ...
core.excludesfile={설정한 파일 위치}
... 이하 생략 ...
필자의 경우는 메인 PC가 아닌 다른 곳에서도 사용할 때도 있어 그런 경우를 위해서 gitinore용 리포지토리(Repository)를 생성하여 사용하고 있다.
설정하는 방법은 모두 다르지만 그래도 해당 내용을 통해서 조금이라도 본인에게 맞는 편리한 방법을 찾아서 사용하였으면 좋겠다.
🌵댓글