.gitignore파일이란?
Git으로 프로젝트를 관리하는 경우 개인정보가 포함된 키파일, 예들들어 node 빌드를 위한 node-module 등은 git에 반영할 필요가 없다. 그런 파일들을 작성하여 한곳에서 관리하는 역할을 한다.
.gitignore를 사용하는 이유?
• 불필요한 파일 제거
프로젝트 개발과 무관하거나 빌드 과정에서 생기는 임시파일, 컴파일 결과, 성공/실패 로그, IDE 설정파일 들 불필요한 파일들을 제외함으로써 GIt 저장소의 용량과 클론 속도를 최적화 할 수 있다.
(실제로 회사에서 불필요한 파일이 올라가서인지 gitbash 파일이 엄청 오래걸렸던 경험이 있었음)
• 보안과 개인정보 보호
.gitignore를 사용하여 암호나 API 키, 인증 토큰 등 보안에 민감한 정보를 제외함으로써 보안 취약점에 노출되지 않을 수 있다.
• 버전관리에서 제외
특정 개발자마다 성향이 다르지만, Git을 통해서 다같이 공유할 필요가 없는 파일들을 .gitignore를 사용해서 관리할 수 있다.
.gitignore 파일 만들기
일반적으로 "프로젝트 상위 경로/프로젝트명/.git" 처럼 프로젝트 구조가 되어있다. 그러면 .git과 같은 위치에 .gitignore를 만들면 된다.
그 후에 해당 파일에 추적(Track)을 피하고 싶은 파일을 작성하면 된다.
다만 .gitignore를 생성하기 전에 이미 올라간 제외대상 파일은 아래와같이 작업해야 추적을 피할 수 있다.
기존 파일 추적(Track) 피하기
이런 경우 수동으로 해당 파일을 제외시켜줘야한다.
//현재 레퍼지토리의 캐시 모두 삭제
$git rm -r --cached .
// .gitignore에 넣은 파일 목록들을 제외한, 모든 파일들을 다시 추적하도록 한다.
$git add .
$git status
$git commit -m "커밋 메세지"
.gitignore를 자동으로 생성해주는 사이트
https://toptal.com/developers/gitignore
gitignore.io
Create useful .gitignore files for your project
www.toptal.com
예시
Java, Gradle을 입력하면 아래와같이 만들어준다.
# Created by https://www.toptal.com/developers/gitignore/api/java,gradle
# Edit at https://www.toptal.com/developers/gitignore?templates=java,gradle
### Java ###
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
replay_pid*
### Gradle ###
.gradle
**/build/
!src/**/build/
# Ignore Gradle GUI config
gradle-app.setting
# Avoid ignoring Gradle wrapper jar file (.jar files are usually ignored)
!gradle-wrapper.jar
# Avoid ignore Gradle wrappper properties
!gradle-wrapper.properties
# Cache of project
.gradletasknamecache
# Eclipse Gradle plugin generated files
# Eclipse Core
.project
# JDT-specific (Eclipse Java Development Tools)
.classpath
### Gradle Patch ###
# Java heap dump
*.hprof
# End of https://www.toptal.com/developers/gitignore/api/java,gradle'Etc > git' 카테고리의 다른 글
| 윈도우 한 PC 에서 두개의 계정 사용하기 (ssh-keygen) (2) | 2024.06.27 |
|---|