이 포스트를 쓰게 된 가장 큰 이유... 프로젝트 파일 전체 중 소스코드와 관련된 부분만 깃에 업로드하고싶다! 라는 이유 때문에, gitignore파일에 이것저것 추가하다 여러 문제(?)가 생겨 작성하게 되었다.
일단, git을 쓸줄은 알지만 완전 미숙한 상태고 앞으로 큰 프로젝트를 진행하기 전 보다 지금 개인 과제를 진행하거나, 아주 작은 프로젝트를 관리할때 미리 활용해보는 듯 미리 깃과 더 친해져야겠다 생각했다.

그럼 본론으로 바로 GO,
1/ .gitignore란?
.gitignore 파일은 프로젝트 전체 중에서 깃에 올리고 싶지 않은 부분을 지정할 수 있게 해주는 중요한 도구다. 이를 통해 사용자는 다른 사람들에게 보여주고 싶지 않거나 보안상 문제가 될 수 있는 파일들을 깃의 버전 관리에서 제외시킬 수 있다.
예를 들어, DB 접속 정보나 민감한 secret key 같은 정보가 깃허브에 올라가면 해킹의 위험이 생길 수 있다. 그렇기 때문에 .gitignore 파일을 이용하여 이러한 파일들을 깃에 올리지 않도록 설정하는것이 좋다. .gitignore 파일은 프로젝트를 처음 만들 때 추가할 수 있고, 필요에 따라 직접 만들어도 된다.
.gitignore : 프로젝트에 원치 않는 백업 파일, 로그 파일, 혹은 컴파일된 파일 등을 Git(Repo)에서 제외시킬 수 있는 설정 파일.
2/ 만드는 방법
2-1/ 자동 생성
https://www.toptal.com/developers/gitignore/
gitignore.io
Create useful .gitignore files for your project
www.toptal.com

IDE들마다 각자 프로젝트에 맞는 ignore파일들을 만들어주긴 하지만, 이 사이트는 알맞은 키워드를 입력하면 그 키워드에 맞게 gitignore파일을 만들어준다.
나의 경우, intelliJ에서 Kotlin으로 작업했기 때문에, 해당 키워드 두개를 넣어 만들었었다.
2-2/ 직접 구현
GitHub에서는 레포지토리를 만들때, 해당 레포지토리의 특성에 맞게 gitignore 파일을 생성해주기도 한다. IDE에서도 자체적으로 프로젝트 생성시 만들어준다.
하지만, 필요한 부분을 제외하기 위해선 아래의 규칙에 따라 .gitignore파일을 만들어야한다.
.gitignore 파일 작성 규칙
| 구분 기호 | 설명 | 예시 |
| blank line | 가독성을 위한 구분자 | |
| # | 주석 | # 주석입니다~~!! |
| ! | 패턴을 무효화 하는 선택적 접두사. 이전패턴에 의해 제외된 일치하는 파일 다시 포함. | !important.txt |
| / | 디렉터리 구분기호 | |
| * | 슬래시를 제외한 모든 항목과 일치함 | *.txt |
| ? | 슬래시를 제외한 모든 문자와 일치함 | file?.txt |
| [] | 범위 표기법을 사용하여 범위의 문자 중 하나와 일치함 | [a-zA-Z] |
| **/ | 모든 디렉터리에서 일치함 | **/foo |
| /** | 내부의 모든 항목과 일치함 | abc/** |
자세한 부분은 git 홈페이지를 봐도 좋다.
https://git-scm.com/docs/gitignore
Git - gitignore Documentation
The optional configuration variable core.excludesFile indicates a path to a file containing patterns of file names to exclude, similar to $GIT_DIR/info/exclude. Patterns in the exclude file are used in addition to those in $GIT_DIR/info/exclude.
git-scm.com
'STUDY' 카테고리의 다른 글
| [Git] Commit Message Convention (0) | 2024.04.29 |
|---|