Хранить эти папки не нужно. Ниже приведу свой .gitignore
.DS_Store
Thumbs.db
/.idea/
/bitrix/*
/upload/*
/local/templates/tmpl/*.css
/sitemap*
node_modules/*
package-lock.json
.gitignore
/img/*
немного поясню:
/local/templates/tmpl/*.css
Я не храню css файлы т.к. использую scss и собираю его.
/sitemap*
Ну сайт мап просто не нужен.
node_modules/*
package-lock.json
Node используется для сборки css и js и в git не нужен
/img/*
Я убираю img из гита так как есть папка img_src в которой хранятся оригиналы картинок и сжимаются в img/