Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Golang clone专用github存储库_Github_Go - Fatal编程技术网

Golang clone专用github存储库

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实例中的目录不会更改您的工作目录。另外,为什

我正在编写go lang应用程序,我需要:

  • 转到同级目录 试用:

    exec.Command(“/bin/sh”、“-c”、“cd..”).Output()

  • 和克隆/更新GitHub专用存储库: git克隆…GitHub存储库

  • 这两项任务我都不能完成。 我尝试了GitHub/libgit2/git2go,但在Ubuntu 16.04
    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()
    }