我有一个包含子模块的项目,如此处所示。[submodule "repo-a"] path = repo-a url = https://example.com/scm/repo-a.git[submodule "repo-b"] path = repo-b url = https://example.com/scm/repo-b.git[submodule "repo-c"] path = repo-c url = https://example.com/scm/repo-c.git我正在使用 go-git pkg 并尝试使用此处显示的选项进行克隆,cloneOpts := &git.CloneOptions{ URL: url, RecurseSubmodules: git.DefaultSubmoduleRecursionDepth,}它不会递归地拉取子模块。我只看到空目录。我错过了什么吗?
1 回答
www说
TA贡献1775条经验 获得超8个赞
现在正在回答您关于“如何克隆 repo 及其子模块”的原始问题go-git:
package main
import (
"os"
"github.com/go-git/go-git/v5"
)
func main() {
repoURL := "https://github.com/githubtraining/example-dependency"
clonePath := "example-repo"
_, err := git.PlainClone(clonePath, false, &git.CloneOptions{
URL: repoURL,
Progress: os.Stdout,
// Enable submodule cloning.
RecurseSubmodules: git.DefaultSubmoduleRecursionDepth,
})
if err != nil {
panic(err)
}
println("Have a look at example-repo/js to see a cloned sub-module")
}
正如你在运行后看到的那样,example-repo/js包含克隆的子模块。
- 1 回答
- 0 关注
- 95 浏览
添加回答
举报
0/150
提交
取消
