git~.gitmodules文件实现导航功能
在higress项目中,我们发现有个istio文件夹,在这个文件夹下面有一些导航,可以直接链接到外部的github项目,这种导航是通过根目录的.gitmodules
文件配置实现的。
在GitHub上,可以通过添加一个特殊的
.gitmodules
文件来实现子模块(Submodule)功能。当一个仓库中包含了子模块时,在GitHub网页上会以链接的方式显示子模块所在的仓库地址,方便用户直接点击跳转到对应的仓库页面。
.gitmodules
文件记录了子模块的信息,包括子模块的路径、URL等。当用户访问包含子模块的仓库页面时,GitHub会自动识别.gitmodules
文件,并将子模块显示为链接,使用户能够方便地查看和访问子模块所在的仓库。
.gitmodules文件内容
[submodule "istio/1.12/api"]
path = istio/1.12/api
url = https://github.com/istio/api
[submodule "istio/1.12/istio"]
path = istio/1.12/istio
url = https://github.com/istio/istio
[submodule "istio/1.12/client-go"]
path = istio/1.12/client-go
url = https://github.com/istio/client-go
[submodule "istio/1.12/pkg"]
path = istio/1.12/pkg
url = https://github.com/istio/pkg
[submodule "istio/1.12/proxy"]
path = istio/1.12/proxy
url = https://github.com/istio/proxy
[submodule "envoy/1.20/go-control-plane"]
path = envoy/1.20/go-control-plane
url = https://github.com/envoyproxy/go-control-plane
[submodule "envoy/1.20/envoy"]
path = envoy/1.20/envoy
url = https://github.com/envoyproxy/envoy
我们通过.gitmodules的[submodule]子模块功能,可以实现外部项目的嵌入。