第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

從其他目錄的 Go 中獲取 Git 狀態(tài)

從其他目錄的 Go 中獲取 Git 狀態(tài)

Go
拉丁的傳說 2022-09-26 14:55:32
我需要從其他目錄獲取已修改文件的列表。func main() {    log.Println("Starting Site map")    dir := "/media/my_path/ubuntu/"    git0 := "git --git-dir=" + dir + ".git --work-tree=" + dir + " status"    log.Println(git0) //<-- works when pasted in console    cmd0 := exec.Command("git", git0)    status0, err := cmd0.Output()    if err != nil {        log.Println(whereami.WhereAmI(), err)    }    log.Println(status0)    git := "git --git-dir=" + dir + ".git --work-tree=" + dir    log.Println(git)    cmd := exec.Command("git", "status", git)    status, err := cmd.Output()    if err != nil {        log.Println(whereami.WhereAmI(), err)    }    log.Println(status)    log.Println("End Site map")}I 有以下輸出:2021/05/24 11:38:07 Starting Site map2021/05/24 11:38:07 git --git-dir=/media/my_path/ubuntu/.git --work-tree=/media/my_path/ubuntu/ status2021/05/24 11:38:07 File: main.go  Function: main.main Line: 19 exit status 12021/05/24 11:38:07 []2021/05/24 11:38:07 git --git-dir=/media/my_path/ubuntu/.git --work-tree=/media/my_path/ubuntu/2021/05/24 11:38:07 File: main.go  Function: main.main Line: 28 exit status 1282021/05/24 11:38:07 []2021/05/24 11:38:07 End Site map此命令:粘貼到控制臺(tái)時(shí)工作正常。git --git-dir=/media/my_path/ubuntu/.git --work-tree=/media/my_path/ubuntu/ status預(yù)期的結(jié)果將是包含已修改文件的數(shù)組。
查看完整描述

2 回答

?
慕工程0101907

TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊

exec.Command接受一個(gè)命令和一些參數(shù)。

你用“git”來稱呼它,然后是“git...”。作為參數(shù),其執(zhí)行方式如下

git "git --git-dir …"

這是行不通的。


  • 不要在參數(shù)中重復(fù)該命令。

  • 使用單個(gè)參數(shù)。

  • 提供 git 命令的路徑。

每個(gè)參數(shù)都應(yīng)該是一個(gè)單獨(dú)的字符串逗號(hào)分隔。

exec.Command("/path/to/git", "--git-dir=" + dir + ".git", "--work-tree=" + dir, "status")


查看完整回答
反對(duì) 回復(fù) 2022-09-26
?
慕森王

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊

這對(duì)我有用:


package main


import (

   "os"

   "os/exec"

)


func main() {

   c := exec.Command("git", "status")

   c.Dir = "/media/my_path/ubuntu"

   c.Stdout = os.Stdout

   c.Run()

}

https://golang.org/pkg/os/exec#Cmd.Dir


查看完整回答
反對(duì) 回復(fù) 2022-09-26
  • 2 回答
  • 0 關(guān)注
  • 143 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)