使用ssh 使用key 验证:
sshAuth, err := ssh.NewPublicKeysFromFile("git", currentUser.HomeDir+"/.ssh/id_rsa", "")
CheckIfError(err)
r, err := git.PlainClone(directory, false, &git.CloneOptions{
URL: url,
RecurseSubmodules: git.DefaultSubmoduleRecursionDepth,
Auth: sshAuth,
})
使用ssh 用户名和密码验证:
Auth: &gitssh.Password{username, password, HostKeyCallbackHelper}
使用http用户名和密码认证:
import githttp "gopkg.in/src-d/go-git.v4/plumbing/transport/http"
auth := &githttp.BasicAuth{Username: beego.AppConfig.String("gitlab.user"), Password: beego.AppConfig.String("gitlab.password")}
//CheckIfError(err)