Etc/git

intellij 프로젝트에 .gitignore 등록하기

jjuni_96 2024. 2. 24. 09:59
728x90

.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
728x90
반응형
LIST