디렉토리 만 추적하고 파일은 추적하지 않기 위해 다음을 수행했습니다. git 추적 전용 파일에 대한 @PeterFarmer의 의견 덕분에 아래에 설명 된 파일을 제외한 모든 디렉토리를 유지할 수있었습니다.
# exclude everything in every folder
/data/**/*.*
# include only .gitkeep files
!/data/**/*.gitkeep
이것을 .gitignore 파일에 추가하면 작업이 수행됩니다. 다음은 내 폴더 구조입니다.
data/
├── processed
│ ├── dataset1.csv
│ └── dataset2.csv
├── raw
│ ├── raw_dataset1.json
└── test
├── subfolder
│ └── dataset2.csv
└── reviews.csv
내가 할 때 git add . && git statusgit은 파일이 아닌 폴더 만 인식합니다.
Changes to be committed:
(use "git reset HEAD <file>..." to unstage)
modified: .gitignore
new file: data/processed/.gitkeep
new file: data/raw/.gitkeep
new file: data/test/.gitkeep
new file: data/test/subfolder/.gitkeep
.gitignore 파일에 대해 다음 사항에 유의하십시오.
슬래시는 루트 디렉토리 만 찾습니다.
/ dir
이중 별표는 0 개 이상의 디렉토리를 찾습니다.
/ ** /