为了账号安全,请及时绑定邮箱和手机立即绑定

Go Git - 递归子模块

Go Git - 递归子模块

Go
慕哥9229398 2022-10-17 19:44:32
我有一个包含子模块的项目,如此处所示。[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包含克隆的子模块。


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 95 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号