我试图git shortlog从 Go 中调用以获取输出,但我遇到了麻烦。
这是我如何使用以下方法执行此操作的工作示例git log:
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
runBasicExample()
}
func runBasicExample() {
cmdOut, err := exec.Command("git", "log").Output()
if err != nil {
fmt.Fprintln(os.Stderr, "There was an error running the git command: ", err)
os.Exit(1)
}
output := string(cmdOut)
fmt.Printf("Output: \n%s\n", output)
}
这给出了预期的输出:
$> go run show-commits.go
Output:
commit 4abb96396c69fa4e604c9739abe338e03705f9d4
Author: TheAndruu
Date: Tue Aug 21 21:55:07 2018 -0400
Updating readme
但我真的很想用git shortlog.
出于某种原因......我无法让它与 shortlog 一起工作。又是这个程序,唯一的变化是 git 命令行:
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
runBasicExample()
}
func runBasicExample() {
cmdOut, err := exec.Command("git", "shortlog").Output()
if err != nil {
fmt.Fprintln(os.Stderr, "There was an error running the git command: ", err)
os.Exit(1)
}
output := string(cmdOut)
fmt.Printf("Output: \n%s\n", output)
}
输出为空:
$> go run show-commits.go
Output:
我可以git shortlog直接从命令行运行,它似乎工作正常。检查文档后,我相信“shortlog”命令是 git 本身的一部分。
任何人都可以帮助指出我可以做些什么不同吗?
www说
相关分类