我想从 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 很陌生,所以我可能在这里错过了一些概念。