我对从go运行git log命令很感兴趣。我看到C#版本支持此功能(https://github.com/libgit2/libgit2sharp/wiki/git-log)。GO版本是否也支持类似的git log命令?我快速搜索了“query”和“filter”关键字,但没有找到任何内容。
我对从go运行git log命令很感兴趣。我看到C#版本支持此功能(https://github.com/libgit2/libgit2sharp/wiki/git-log)。GO版本是否也支持类似的git log命令?我快速搜索了“query”和“filter”关键字,但没有找到任何内容。
RevWalk 是你要寻找的东西。
repo, err := git.OpenRepository("path/to/repository")
log.Println(err)
w, err := repo.Walk() // returns a RevWalk instance for this repo
log.Println(err)
您可以配置返回的RewWalk
实例。
err = w.PushHead() // instruct to start from the head commit
log.Println(err)
w.Iterate(func(c *git.Commit) bool {
fmt.Println(c.Message())
return true // return false when you want to stop iterating
})