Git을 사용할 때는 로그, 임시 파일, 컴파일된 중간 파일 등과 같은 파일이 코드 저장소에 제출되지 않기를 좋아하므로, 해당 파일 커밋을 무시하는 무시 규칙을 설정해야 합니다.
Git은 파일 커밋 메서드를 무시합니다
Git에서 커밋하고 싶지 않은 파일을 무시하는 방법은 세 가지가 있습니다.
Git 프로젝트에서 .gitignore 파일을 정의하세요
이는 프로젝트 내 폴더에 .gitignore 파일을 정의하여 해당 무시 규칙을 정의함으로써 관리됩니다현재 폴더파일의 Git 커밋 동작은 .gitignore 파일은 공개 저장소에 제출할 수 있어, 프로젝트 내 모든 개발자가 정의된 무시할 규칙을 공유합니다. .gitingore 파일에서 각 줄에 해당 문법을 따라 무시(ignore) 규칙을 지정하세요. 예를 들어:
Git 프로젝트 설정에서 제외 파일을 지정하세요
이것은 프로젝트 동작의 임시 명세일 뿐이며, 현재 프로젝트 아래 .git/info/exclusion 파일을 편집한 후 커밋을 무시해야 할 파일을 작성해야 합니다. 이렇게 지정된 무시된 파일의 루트 디렉터리가 프로젝트 루트임을 유의하세요.
Git 전역을 정의하는 .gitignore 파일
프로젝트 내에서 .gitignore 파일을 정의할 수 있는 것 외에도, 모든 Git 프로젝트의 동작을 관리하는 전역 git .gitignore 파일을 설정할 수도 있습니다. 이 접근법은 서로 다른 프로젝트 개발자 간에 공유되지 않으며, 프로젝트 위에 있는 Git 애플리케이션 수준에서 발생하는 동작입니다.
또한 어디에나 배치할 수 있는 .gitignore 파일을 생성해야 합니다. 그 다음 다음 명령어로 Git을 구성하세요:
Git은 규칙을 무시합니다
자세한 무시 규칙은 주소의 공식 영어 문서를 참조해 주세요:하이퍼링크 로그인이 보입니다.
git은 규칙 우선순위를 무시합니다
.gitingore 파일에서 각 줄마다 무시(ignore) 규칙을 지정하면, Git은 규칙을 무시할 때 여러 출처를 검사합니다. 우선순위는 다음과 같습니다(높은 순서부터 낮은 순서):
- 명령줄에서 사용 가능한 무시 규칙을 읽으세요
- 현재 디렉터리가 정의한 규칙들
- 부모 디렉터리가 정의한 규칙은 재귀적입니다
- $GIT_DIR/info/exclude 파일
- core.excludesfile
Git은 규칙 매칭 문법을 무시합니다
.gitignore 파일에서 각 줄에 대한 무시(ignore) 규칙의 문법은 다음과 같습니다:
- 임의의 파일이 일치하지 않는 공백은 구분자로 사용할 수 있으며, 백슬래시로 이스케이프할 수도 있습니다
- # 처음에 있는 파일 식별 주석은 백슬래시를 사용해 피할 수 있습니다
- ! 처음의 스키마 식별은 음수이며, 파일은 다시 포함됩니다. 만약 파일의 부모 디렉터리가 제외된다면 ! 다시는 포함되지 않을 것입니다. 탈출은 백슬래시를 사용해 할 수 있습니다
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- 패턴에 슬래시가 없으면 현재 .gitignore 파일 경로와 내용이 일치하고, 패턴이 .gitignore 파일에 없으면 프로젝트 루트에 대해 기준으로 일치합니다
- ** 매칭 다중 수준 카탈로그는 시작, 중간, 끝에 사용할 수 있습니다
- ? 개별 문자의 범용 매칭
- [ ] 개별 캐릭터의 유니버설 매치 리스트
일반적인 매칭 예시:
- bin/: 현재 경로 아래 bin 폴더를 무시합니다. 그 폴더 안의 모든 것은 무시되고, bin 파일은 그렇지 않습니다
- /bin: 忽略根目录下的bin文件
- /*.c: 忽略 cat.c,不忽略 build/cat.c
- debug/*.obj: debug/io.obj는 무시하고, debug/common/io.obj와 tools/debug/io.obj
- **/foo: /foo, a/foo, a/b/foo 등을 무시하세요
- A/**/B: A/B, A/X/B, A/X/Y/B 등을 무시하세요
- !/bin/run.sh: bin 디렉터리의 run.sh 파일을 무시하지 마세요
- *.log: 모든 .log 파일을 무시하세요
- config.php: 忽略当前路径的 config.php 文件
.gitignore 규칙은 적용되지 않습니다
.gitignore는 원래 추적되지 않은 파일만 무시할 수 있으며, 일부 파일이 이미 버전 관리에 포함되어 있다면 .gitignore를 수정해도 효과가 없습니다.
우회 방법은 커밋하기 전에 로컬 캐시를 삭제(추적되지 않은 상태로 변경)하는 것입니다:
(끝)
|