猿问

Go Git - 递归子模块

我有一个包含子模块的项目,如此处所示。


[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,

}

它不会递归地拉取子模块。我只看到空目录。我错过了什么吗?


慕哥9229398
浏览 96回答 1
1回答

www说

现在正在回答您关于“如何克隆 repo 及其子模块”的原始问题go-git:package mainimport (    "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包含克隆的子模块。
随时随地看视频慕课网APP

相关分类

Go
我要回答