일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- show graph characteristics
- python
- ROLLUP
- sql 저장 모듈
- html
- Node.js
- 뷰
- 비절차적 데이터 조작어
- 문법 차이
- simple case expression
- 정규식 연산
- dom
- git
- 정보처리기사
- SQL
- coalesce
- 자료구조
- JavaScript
- execute immediate
- searched case expression
- window 함수
- 기업 협업
- MYSQL
- list multiplication
- 위코드
- SQLD
- dense rank
- GROUPING
- Oracle
- 코드 스니펫
- Today
- Total
프로그래밍 숲
.gitignore 파일 작성 규칙 및 포함되어야 할 내용 알아보기 본문
gitignore이란?
.gitignore 파일은 Git이 무시해야 하는 의도적으로 추적하지 않은 파일을 담는 문서입니다. .gitignore 파일은 글로브(Glob) 패턴을 준용하여 작성합니다. 글로브 패턴은 와일드카드 문자로 여러 파일을 지정할 때 사용되는 문법입니다. .gitignore 파일 작성 규칙을 잘 이해하고 사용하면, 특정 조건에 해당하는 파일을 필터링하여 제외시킬 때 유용합니다.
gitignore 작성 규칙
1. 빈 줄 또는 #으로 시작하는 줄
무시되며 주석에 사용할 수 있습니다.
2. 표준 glob 패턴
*
: 경로 구분자 /를 제외한 모든 문자열과 일치합니다.?
: 단일 문자와 일치합니다.[abc]
: 대괄호(이 예에서는 a, b 또는 c)로 묶인 모든 문자와 일치합니다.
3. 특수 glob 패턴
**
: 경로 구분 기호 /를 포함하여 모든 문자열과 일치합니다.
- 단독으로 사용되는 경우(즉, **) 모든 파일 또는 디렉토리와 일치합니다.
- 슬래시(예: **/) 앞에 사용하면 저장소의 모든 디렉토리와 일치합니다.
- 슬래시(예: /**) 뒤에 사용하면 슬래시 앞에 지정된 디렉토리 내의 파일 및 디렉토리와 일치합니다.
{}
: 중괄호로 묶인 쉼표로 구분된 패턴과 일치합니다. 이것은 모든 쉘에서 지원되지 않으므로 주의하여 사용하세요.
4. 디렉토리 패턴
후행 슬래시 /
: 패턴이 슬래시로 끝나면 디렉토리와 해당 디렉토리 내의 파일만 일치합니다.선행 슬래시 /
: 패턴이 슬래시로 시작하면 리포지토리 루트의 파일만 일치합니다. 예를 들어 /foo는 bar/foo와 같은 하위 디렉토리가 아니라 레포지토리 루트에 있는 foo라는 파일 또는 디렉토리와 일치합니다.
5. 부정 !
패턴이 느낌표(!
)로 시작하면 패턴과 일치하는 파일을 제외할 수 있습니다. 파일이 이전 패턴에 의해 무시된 경우 !는 이를 무효화합니다. ! 패턴은 디렉토리 내용과 일치할 수 없으므로 !/foo/는 foo 디렉토리가 무시되는 것을 방지하지 않습니다.
다음은 .gitignore 패턴의 몇 가지 예입니다.
*.log: 전체 프로젝트의 모든 .log 파일을 무시합니다.
/output: 다른 디렉토리가 아닌 프로젝트의 루트에 있는 output이라는 디렉토리를 무시합니다.
**/output: 프로젝트의 output 디렉터리를 무시합니다.
debug/: debug라는 디렉토리에 있는 모든 파일을 무시합니다.
debug/*/*.tmp: debug 디렉토리의 하위 디렉토리에 있는 모든 .tmp 파일을 무시합니다.
!important.log: 이전 패턴에서 .log 파일을 제외하더라도 important.log 파일을 포함합니다.
.gitignore 파일은 다른 공동 작업자와 공유된다는 점을 기억하셔야 합니다. 혹여나 다른 공동 작업자에게 영향을 주지 않고 로컬에서만 파일을 무시하려면 Git 구성에서 .git/info/exclude 또는 core.excludesFile을 사용해야 한다고 합니다.
gitignore에 포함되어야 할 내용들
1. 종속성
프로젝트가 의존하는 패키지에 의해 추가된 파일 및 디렉토리. 예를 들어 Node.js 프로젝트의 node_modules 디렉터리입니다.
2. 시스템 파일
운영 체제에서 추가한 파일 및 디렉터리입니다. 여기에는 종종 macOS의 .DS_Store와 같은 파일이 포함됩니다.
3. 빌드 파일
코드를 컴파일할 때 생성되는 파일 및 디렉터리입니다. 예를 들어 C/C++의 .exe, .dll, .o, .so 파일, Java의 bin/ 및 target/ 디렉토리 등입니다.
4. 구성 파일
JetBrains IntelliJ IDEA의 경우 .idea 또는 vim의 경우 *.swp와 같은 개인 IDE 설정이 포함된 파일입니다.
5. 로그 및 데이터베이스
로그, 데이터베이스, 캐시, 세션 또는 기타 임시 런타임 데이터와 같은 파일.
6. 민감한 데이터
자격 증명, 키, 비밀 등과 같은 민감한 데이터를 포함하는 파일. 예를 들어 민감한 정보가 포함된 .env 파일 또는 config.yml.
바이너리 또는 큰 파일: 일반적으로 바이너리 또는 매우 큰 파일의 버전 관리를 피하려고 합니다.
쉽게 gitignore를 작성할 수 있도록 도와주는 사이트
아래의 링크에 접속하시면 해당 프로젝트에 맞는 맞춤화된 gitignore파일을 쉽게 작성하실 수 있습니다.
보통 운영체제(MacOS), 사용하는 프로그래밍 언어, 통합개발환경(IDE) 등등을 추가하는 편입니다.
gitignore.io
Create useful .gitignore files for your project
www.toptal.com