用os.exec克隆一个repo(“git”,“clone”)

时间:2016-01-19 01:45:23

标签: go

运行下面的代码,我希望将github托管项目username/mysuperrepo克隆(一旦我访问clone路径)进入此项目运行的仓库,但它不起作用。停止应用程序后,mysuperrepo没有目录,没有任何我希望从命令行运行git clone https://github.com/username/mysuperrepo.git的文件

问题:为什么以下代码不会在运行go程序的目录中生成repo的克隆?

func clone(w http.ResponseWriter, r *http.Request){
  var repo = "https://github.com/username/mysuperrepo.git"
  exec.Command("git", "clone", repo)
  w.Write([]byte(repo))
}
func main(){
  http.HandleFunc("/clone/", clone)
  log.Fatal(http.ListenAndServe(":8080", nil))
}

1 个答案:

答案 0 :(得分:1)

您需要调用Run来实际执行命令。

cmd := exec.Command("git", "clone", repo)
err := cmd.Run()
if err != nil {
    // something went wrong
}