누구나 git이 관리하는 파일 구조에서 특정 디렉토리의 모든 인스턴스를 무시할 수 있는지 알고 있습니다.
여러 하위 모듈이있는 maven 프로젝트의 모든 '대상'폴더를 제외하려고합니다. 최상위 .gitignore에서 각각을 명시 적으로 제외 할 수 있다는 것을 알고 있지만 ** / target / *과 같은 패턴을 지정하여 하위 디렉터리의 인스턴스를 자동으로 무시하도록 할 수 있기를 바랍니다.
이게 가능해?
누구나 git이 관리하는 파일 구조에서 특정 디렉토리의 모든 인스턴스를 무시할 수 있는지 알고 있습니다.
여러 하위 모듈이있는 maven 프로젝트의 모든 '대상'폴더를 제외하려고합니다. 최상위 .gitignore에서 각각을 명시 적으로 제외 할 수 있다는 것을 알고 있지만 ** / target / *과 같은 패턴을 지정하여 하위 디렉터리의 인스턴스를 자동으로 무시하도록 할 수 있기를 바랍니다.
이게 가능해?
답변:
.gitignore
파일 에서 패턴을 사용할 수 있습니다. 참고 항목 gitignore man 페이지를 . 패턴 */target/*
은 target이라는 디렉토리와 그 아래의 모든 것을 무시해야합니다. 또는 */target/**
목표 아래의 모든 것을 무시 하려고 할 수도 있습니다 .
/target/**
\.git\info\exclude
파일에서 잘 작동 합니다.
.gitignore
루트 디렉토리에 파일 않는 모든 하위 디렉토리에 적용됩니다. 내 모습은 다음과 같습니다.
.classpath
.project
.settings/
target/
이것은 다중 모듈 메이븐 프로젝트에 있습니다. 모든 하위 모듈은 m2eclipse를 사용하여 개별 Eclipse 프로젝트로 가져옵니다. 더 이상 .gitignore
파일 이 없습니다 . 실제로 gitignore man 페이지 를 살펴보면 다음과 같습니다.
.gitignore
경로와 동일한 디렉토리 또는 상위 디렉토리에 있는 파일에서 패턴을 읽습니다 .
그래서 이것은 당신을 위해 작동합니다.
src/main/java/org/example/game/archery/bow/LongBow.java
and src/main/java/org/example/game/archery/target/Target.java
, .gitignore 구성을 사용하여 LongBow를 사용할 수있는 것은 없습니다. :-))
원하지 않는 모든 파일에서 gitignore에 다음 줄을 추가하십시오.
/target/
*/target/**
**/META-INF/
!.mvn/wrapper/maven-wrapper.jar
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
### NetBeans ###
/nbproject/private/
/build/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/