Ответ 1
Решение довольно просто, добавьте !*/
в файлы .gitignore, и только файлы в текущей папке будут проигнорированы
# Ignore everything in this directory
*
# Except this file
!.gitignore
# Except folders
!*/
Это моя структура папок:
data/
.gitignore
uploads/
.gitignore
Я хотел бы зафиксировать папки, но не файлы внутри них.
Итак, я добавляю файлы .gitignore в каждую папку со следующим содержимым:
# Ignore everything in this directory
*
# Except this file
!.gitignore
Проблема заключается в том, что *
совпадает также с каталогами, поэтому git отслеживает только data/.gitignore
Решение довольно просто, добавьте !*/
в файлы .gitignore, и только файлы в текущей папке будут проигнорированы
# Ignore everything in this directory
*
# Except this file
!.gitignore
# Except folders
!*/
Пожалуйста, не злоупотребляйте файлами .gitignore
. Лучше придерживайтесь способов по умолчанию, поэтому позже разработчики могут быстро войти в ваш проект.
.gitkeep
файл в папки, которые вы хотите зафиксировать без файловИсключить папки, но не .gitkeep
из вашего основного .gitignore
файла.
folder/*
!folder/.gitkeep
Это игнорирует все файлы в папке, но не файл .gitkeep
. Теперь папка будет загружаться только с содержимым .gitkeep
в качестве содержимого.
Попробуйте следующее:
*.*
!.gitignore
!*/*