그 동안 여러번 git을 쓰면서 제대로 뜯어보질 못한 것 같아서 이렇게 조금씩이나마 뜯어보는 시간을 가져보았다.
1. .gitattributes
쓰임새
- 이 설정은 다양한 운영체제에서 파일 호환성을 보장하고, Git이 파일을 적절히 처리하도록 돕는 역할을 한다.
- 용어 설명
- text : text 파일로 취급하겠다는 뜻
- eol(End Of Line) : 줄바꿈을 뜻하는 단어
- 줄바꿈 형식
- LF(Line Feed) : 제어 문자로 표현 시 “\n” 를 뜻한다. 주로 Linux/Mac 에서 쓰이는 방식이다.
- CRLF(Carriage Return Line Feed) : 제어 문자로 표현 시 “/r”을 뜻한다. 주로 window에서 쓰인다.
쓰임 예시
/gradlew text eol=lf
*.bat text eol=crlf
*.jar binary
- gradlew 파일은 텍스트 파일로 취급되며, 줄바꿈 스타일은 LF로 고정된다. (Mac/Linux)
- .bat 파일은 텍스트 파일로 취급되며, 줄바꿈 스타일은 CRLF로 고정돤다. (Windows)
- .jar 파일은 Java 애플리케이션에서 사용되는 이진 파일이므로, Git이 이를 텍스트 파일로 처리하지 않도록 설정한다.
2. .gitignore
쓰임새
- git이 특정 파일들을 추적하지 못하도록 지시하는 파일이다.
- 버전관리에서 제외가 되는 파일들을 싣는 파일이다.
쓰임 예시
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/
### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/
### VS Code ###
.vscode/
- .gradle : Gradle 빌드 시스템에서 생성된 캐시 파일 및 메타데이터를 제외한다.
- build/ : Gradle 빌드 시 생성되는 빌드 아티팩트들을 제외한다.
- !gradle/wrapper/gradle-wrapper.jar : 프로젝트 빌드 환경을 일정하게 유지하기 위해 무시 목록에서 제외한다.
- !/src/main//build/ & !/src/test//build/ : 버전 관리에 필요한 특정 폴더의 하위 폴더는 무시 목록에서 제외한다.
- STS ### : Spring Tool Suite에서 생성하는 프로젝트 메타데이터 및 설정 파일을 제외합니다.
- IntelliJ IDEA ### & ### NetBeans ### & ### VS Code ### : IDEA 툴들의 설정 파일 제거
참고 자료 : https://mygumi.tistory.com/433 ,
https://maloveforme.tistory.com/204