Чтобы отслеживать только каталоги, но не файлы, я сделал следующее.Благодаря комментарию @ PeterFarmer, касающемуся файлов git tracking, я смог сохранить все каталоги, кроме файлов, как описано ниже.
# 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 status
, git распознает только папки, но не файлы.
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
Двойная звездочка ищет ноль или более каталогов.
/ ** /