.gitignore와 .gitattributes는 둘 다 Git에서 파일 및 디렉터리의 처리를 제어하는 데 사용되지만, 각 파일의 목적과 기능은 다릅니다.
- Git 저장소에 추적하지 않을 파일 또는 디렉터리를 정의합니다.
- 개발 중 생기는 임시 파일, 빌드 결과물, 또는 사용자 환경에만 필요한 설정 파일 등을 Git에서 무시하도록 설정합니다.
- 예를들면, node_modules/ 디렉터리, dist/ 디렉터리 등은 용량이 커서 굳이 올리지 않고, 내려받는 경우에 package.json에 근거하여 관련 모듈을 다운 받을 수 있기 때문입니다.
- 또한 .env 파일 및 .log 확장자를 가진 모든 파일은 주로 api key 등 환경변수를 갖고 있으므로 다른 사람에게 노출이 되면 안되므로 github 에 올리지 않을 목적으로 .gitignore 파일에 리스트 합니다.
# .gitignore
node_modules/
dist/
.env
*.log
- Git에서 파일의 속성을 정의하고 처리 방식을 지정합니다.
- 특정 파일의 줄바꿈 방식(LF 또는 CRLF), 병합 전략, diff 전략 등 파일을 어떻게 관리할지를 설정합니다. 주로 텍스트 파일의 줄바꿈 문제, 이진 파일의 처리 방법 등을 설정할 때 유용합니다.
# .gitattributes
*.js text eol=lf
*.jpg binary
*.md text
* text=auto
*.js 파일은 텍스트 파일로 처리되고 줄바꿈은 LF로 설정되며, .jpg 파일은 이진 파일로 간주되며, .md 파일은 일반 텍스트 파일로 처리됩니다.
* text=auto는 모든 파일을 대상으로, Git이 파일을 텍스트 파일인지 이진 파일인지 자동으로 감지하게 합니다. 텍스트 파일로 감지되면 줄바꿈(EOL) 변환이 적용됩니다. 이 설정은 협업 시 운영체제 간의 줄바꿈 충돌을 방지하는 데 유용합니다.
Three.js에서 GLSL 사용 (2) | 2024.09.18 |
---|---|
shader 프로그래밍 (6) | 2024.09.18 |
경도, 위도, Longitude, Latitude (0) | 2024.09.12 |
navigator - BOM (1) | 2024.06.04 |
.json 과 .json5 의 차이점 (1) | 2024.06.03 |