Golang clone专用github存储库
我正在编写go lang应用程序,我需要:Golang clone专用github存储库,github,go,Github,Go,我正在编写go lang应用程序,我需要: 转到同级目录 试用: exec.Command(“/bin/sh”、“-c”、“cd..”).Output() 和克隆/更新GitHub专用存储库: git克隆…GitHub存储库 这两项任务我都不能完成。 我尝试了GitHub/libgit2/git2go,但在Ubuntu 16.04libgit2上无法理解https 谢谢您的帮助。信用卡到@JimB:-) 积分到@JimB:-) 更改另一个/bin/sh实例中的目录不会更改您的工作目录。另外,为什
exec.Command(“/bin/sh”、“-c”、“cd..”).Output()
libgit2
上无法理解https
谢谢您的帮助。信用卡到@JimB:-)
积分到@JimB:-)
更改另一个
/bin/sh
实例中的目录不会更改您的工作目录。另外,为什么不直接调用git?很抱歉,再次发布假问题,但我运行go-run-main.go-in“/generator”,但我需要转到sibling dir,或者我可以硬编码dir/home/svitlana/go/src/realsiter/realster,并在那里运行git-pull执行一个新shell并更改其目录不会产生任何效果。如果要更改进程的工作目录,可以使用os.Chdir
。但是,为什么不直接执行git pull
,而不是尝试使用各种libgit2绑定呢?一个好主意:-)。如何指定身份验证信息?您可以使用ssh,它将从代理获取您的密钥。如果您需要https访问,可以使用netrc文件或其他各种选项:更改另一个/bin/sh
实例中的目录不会更改您的工作目录。另外,为什么不直接调用git?很抱歉,再次发布假问题,但我运行go-run-main.go-in“/generator”,但我需要转到sibling dir,或者我可以硬编码dir/home/svitlana/go/src/realsiter/realster,并在那里运行git-pull执行一个新shell并更改其目录不会产生任何效果。如果要更改进程的工作目录,可以使用os.Chdir
。但是,为什么不直接执行git pull
,而不是尝试使用各种libgit2绑定呢?一个好主意:-)。如何指定身份验证信息?您可以使用ssh,它将从代理获取您的密钥。如果需要https访问,可以使用netrc文件或其他各种选项:
func update_ghub(wg *sync.WaitGroup) {
var (
cmdOut []byte
err error
)
err = os.Chdir("/home/svitlana/go/src/realsiter/realster")
if err != nil {
log.Fatalln(err)
}
cmdName := "git"
cmdArgs := []string{"pull"}
if cmdOut, err = exec.Command(cmdName, cmdArgs...).Output(); err != nil {
fmt.Fprintln(os.Stderr, "There was an error running git rev-parse command: ", err)
os.Exit(1)
}
sha := string(cmdOut)
fmt.Println("Response:", sha)
wg.Done()
}