이 포스트를 쓰게 된 가장 큰 이유... 프로젝트 파일 전체 중 소스코드와 관련된 부분만 깃에 업로드하고싶다! 라는 이유 때문에, 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 |
---|