2017-02-26 1 views
1

나는 .gitkeep 사용하려고하지만 난 그것을 시도 상관없이은 작동하지 않습니다.는 어떻게 폴더 구조를 추적하는 자식을 사용할 수 있습니까?

* 
!a/.gitkeep 
!*/.gitkeep 
!**/.gitkeep 
!.gitignore 

아이디어는 .gitkeep 모든 폴더를 유지하는 것입니다 :이 같은 .gitignore했다

. 
├── a 
│   ├── aa 
│   │   ├── aaa 
│   │   │   ├── .gitkeep 
│   │   │   └── test.txt 
│   │   ├── .gitkeep 
│   │   └── test.txt 
│   ├── .gitkeep 
│   └── test.txt 
├── b 
│   ├── bb 
│   │   ├── bbb 
│   │   │   └── test.txt 
│   │   ├── .gitkeep 
│   │   └── test.txt 
│   └── test.txt 
└── .gitignore 

:

예를 들어이 같은 폴더 구조를 가지고 있었다. 놀랍게도이 구성으로 폴더를 추적 할 수 없습니다.

이 작동하지 않는 이유는 누군가가 말해 줄래? 문제가 해결되지 않는 이유

+0

을 '그 안에 아무것도없는 디렉토리에있는 파일을 .gitkeep'. 귀하의 경우, 여러 가지'test.txt' 파일들이 그것들을 불필요하게 만듭니다. – jonrsharpe

답변

1

사람은 말해 줄 수 있습니까? 이를 위해

, 당신은

it is not possible to re-include a file if a parent directory of that file is excluded 그리고 *는뿐만 아니라 폴더를 무시하고 모든 다른 논쟁 제외 규칙을 만드는 것, 자식 -v

두 번째를 체크-무시합니다.

.gitkeep 만 제외하고 (보관 된 폴더의 내용을 무시하려면) 파일 만 무시한 다음 폴더를 허용하고 마지막으로 무시한 파일 중 .gitkeep 개의 파일을 제외시킵니다.

/** 
!/**/ 
!.gitkeep 

그러나 목표는 하는 경우 다음 중 하나에 의해 모든 폴더를 제외해야합니다, 그 안에 .gitkeep이있는 곳 폴더의 모든 파일을 무시하지 : 당신은 필요

/** 
!/**/ 
!/a/aa/aaa/** 
!/b/bb/bbb/** 
+0

고마워요! '!/** /'가 열쇠입니다. '/ **'와'*'는 실제로 같은 효과를냅니다. – Wang

관련 문제