이번 글에서는 깃과 깃허브에서 핵심적인 역할을 하는 `.gitignore` 파일에 대해 더욱 상세하게 다루어 보도록 하겠습니다. `.gitignore` 파일은 프로젝트의 특정 파일이나 디렉토리를 깃 버전 관리 대상에서 제외시키는 데 사용되는 설정 파일입니다.
1. `.gitignore` 이란?
`.gitignore`는 프로젝트 내에 있는 특정한 파일들을 깃 저장소의 버전 관리 대상에서 제외시키기 위해 사용하는 설정파일입니다. 이를 통해 불필요한 로그, 임시 데이터, 컴파일된 코드, 운영체제나 개발 도구 등으로 생성되는 시스템 파일 등을 Git 저장소에 포함시키지 않아 저장소를 깔끔하게 유지할 수 있습니다.
1) 우선 터미널을 실행합니다.
2) 원하는 디렉터리로 이동합니다.
// bash
$ cd [디렉터리 경로]
3) 해당 디렉터리에 `.gitignore` 파일을 생성합니다.
// bash
$ touch .gitignore
2. `.gitignore` 작성 방법
`.gitignore`파일은 각 줄마다 하나의 패턴을 가진다고 생각하면 됩니다. 이 패턴과 일치하는 모든 경로와 이름의 파일이 Git으로부터 무시됩니다.
1) 코드 에디터 혹은 텍스트 에디터를 사용하여 .gitignore파일을 엽니다.
2) 아래와 같이 원하는 패턴으로 작성합니다.
// bash
# .log 확장자를 가진 모든 로그파일 제외
*.log
# temp라는 이름의 모든 폴더 제외
temp/
# debug/ 디렉토리 전체 제외
debug/
# doc/text.dox라는 정확한 경로의 파일만 제외 (doc/ 밑의 다른 .dox파일들은 포함)
doc/text.dox
3) 변경 사항 저장 후 종료합니다.
3. `.gitignore` 예외 처리
대부분의 경우, 일관된 패턴으로 지정된 모든 것들을 무시하기 원하지만, 그중 일부만 포함하고 싶은 경우가 있습니다. 이런 경우 '!' 문자를 사용하여 예외 처리를 할 수 있습니다.
// bash
*.log # .log 확장자 모든 로그파일 제외
!/important.log # important.log라는 이름의로그파일은 제외하지 않음
이렇게 하면 *.log 패턴에 해당하는 모든 파일들은 무시되지만, 'important.log'라는 이름의 파일만은 예외적으로 버전 관리 대상에 포함됩니다.
4. 전체 프로젝트에 적용하기
`.gitignore` 파일은 그 위치와 상관없이 프로젝트 전체에 적용됩니다. 그러나 경우에 따라서는 특정 디렉터리 내에서만 다른 규칙을 적용하고 싶을 수 있습니다. 이럴 때는 해당 디렉터리 내부에 별도의 `.gitignore` 파일을 만들어서 사용할 수 있습니다.
// bash
# /build/ 디렉토리 및 그 하위 디렉토리에서 .txt파일 제외
/build/*.txt
5. 기존 파일 무시하기
`.gitignore`가 이미 추적 중인(Tracked) 파일을 무시하지 않는다는 것을 알아두세요. 즉, 이미 커밋된 파일이 후속 작업에서 `.gitignore`에 의해 무시되기를 원한다면, 해당 파일의 추적을 명시적으로 중단해야 합니다.
// bash
$ git rm --cached [파일명]
6. 일반적인 `.gitignore` 패턴
많은 프로젝트들에서 공통적으로 사용하는 일반적인 `.gitignore` 패턴들이 있습니다. 이를 참고하여 자신의 프로젝트에 맞게 수정하면 효율적입니다.
// bash
# 바이너리 및 오브젝트 파일 등 제외
*.o
*.a
*.so
# 로그와 데이터베이스 등 제외
*.log
*.sql
*.sqlite
# OS 생성파일 등 제외
.DS_Store
Thumbs.db
# 개발 도구 설정파일 등 제외
.idea/
.vscode/
node_modules/
7. GitIgnore 템플릿 사용하기
여러 언어나 환경별로 공통된 `.gitignore` 설정들이 있는데, 이런 설정들을 미리 만든 템플릿 형태로 사용할 수 있습니다. GitHub에서 여러 가지 [.gitignore 템플릿](https://github.com/github/gitignore)을 공개하고 있으니 참고하시기 바랍니다.
GitHub - github/gitignore: A collection of useful .gitignore templates
A collection of useful .gitignore templates. Contribute to github/gitignore development by creating an account on GitHub.
github.com
이렇게 하여 `.gitignore`에 대한 자세한 설명을 제공하였습니다. `.gitignore` 파일을 통해 깃 저장소를 더욱 체계적이고 효율적으로 관리할 수 있습니다.
.gitignore' 사용법은 간단하지만 프로젝트 관리에서 매우 중요한 역할을 합니다. 이 도구를 잘 활용하여 깃 저장소 관리에 대한 부담감을 줄이고, 프로젝트의 생산성과 효율성을 높여보세요!"
'Programming > Git | Github' 카테고리의 다른 글
Git/GitHub: git 기본 용어 (0) | 2023.08.25 |
---|---|
Git/GitHub: git 기본 동작 원리 (2) | 2023.08.24 |
Git/Github: 깃 초기화 및 삭제 (0) | 2023.08.22 |
Git/Github: 사용자 설정 및 세팅(Github Desktop) (0) | 2023.08.21 |
Git/Github: 사용자 설정 및 세팅 (0) | 2023.08.20 |