Это задача, которая появляется в других репозиториях, расскажу на примере .vim В .vim через vim-plug устанавливаются плагины. Плагины имеют вид:
ls .vim/plugged/ -1 |head -4
ansible-vim
AutoFenc
browserlink.vim
closetag.vim
Внутри каждого из них лежит .git
ls .vim/plugged/closetag.vim/ -a1
.git
plugin
README
Так вот, что мне нужно?
cd .vim
git init
git add .
git commit
git push origin master
На выходе получаю следующее: Добавляется всё, кроме содержимого .vim/plugged. Яснопонятно, что git детектит в сабдиректориях .git и .gitignore и считает их отдельными репозиториями. Но, мне как раз нужно сделать так, чтобы гит их не детектил и просто добавлял содержимое plugged полностью. Удалять .git внутри plugged не получится т.к при PluginUpdate vim-plug начинает ругаться на отсутствие .git внутри plugged/some. Как быть?
Попробовал pre-commit хук переименовывать .git, .gitignore в .git_zzz, .gitignore_zzz, но дело в том, что в git нет pre-add hook. Далее не ясно через какой хук это разыменовывать обратно(после clone/pull)