我有一个包含 4 个子模块的主仓库:
- 虚拟机
- libvmi
- qem
- 硝基
我sparse-checkout
kvm
想过滤掉一些与 Windows 上的文件系统限制不兼容的烦人文件(AUX
是保留的文件名,并且 kvm 树包含aux.{h|c}
)
我了解如何sparse-checkout
在普通存储库上执行操作,但是当我在子模块上执行相同操作时,它不起作用,.git/modules
目录丢失:
git clone https://github.com/KVM-VMI/kvm-vmi/
git -C kvm config core.sparseCheckout true
echo "!drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.*" >> .git/modules/kvm/info/sparse-checkout # ignore aux.*
echo "/*" >> .git/modules/kvm/info/sparse-checkout # checkout everything else
git submodule update --init
第一个echo
命令将失败,因为.git/modules
尚未创建。
我不知道谁负责创建这个目录。
我在init
某处错过了“”命令吗?
笔记:
我一直在 Stackoverflow 或博客文章中寻找解决方案:
但它们对我不起作用,因为我不想克隆一个单独的kvm
仓库,然后再将它添加到我的主仓库中。
谢谢。