Это задача, которая появляется в других репозиториях, расскажу на примере .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)








 






URL записи