运行下面的代码,我希望将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))
}
答案 0 :(得分:1)
您需要调用Run
来实际执行命令。
cmd := exec.Command("git", "clone", repo)
err := cmd.Run()
if err != nil {
// something went wrong
}