1

我想从 go 程序推送到 gitlab。我正在使用go-git v5。标准推送工作正常:

err := repo.Push(&git.PushOptions{
            RefSpecs: []config.RefSpec{"refs/tags/*:refs/tags/*"},
            Progress: os.Stdout,
        })

现在我想添加一个自定义 gitlab 推送选项“ci.skip”。

git 命令将是git push -o ci.skip. 我尝试添加这样的选项:

err := repo.Push(&git.PushOptions{
        RefSpecs: []config.RefSpec{"refs/tags/*:refs/tags/*"},
        Progress: os.Stdout,
        Options: map[string]string{"ci.skip":"true"},
    })

但编译器告诉我

p.Options undefined (type *git.PushOptions has no field or method Options)

我真的不明白,因为PushOptions结构显然具有此属性。我对 Go 很陌生,所以我可能在这里错过了一些概念。

4

0 回答 0