【问题标题】:go-git diff between branches分支之间的 go-git diff
【发布时间】:2022-01-08 19:10:31
【问题描述】:

用 go-git 可以得到两个分支之间的差异,或者,例如,当前分支和主分支之间的差异?

使用 GIT,您可以获取当前分支和主分支之间的差异:

$ git diff master

在两个分支之间:

$ git diff master feature/branch

我找到this answer 使用(*object.Commit).Patch,但在提交之间,而不是分支之间。

【问题讨论】:

  • 我发现使用exec.Command() 调用git 并从流程的输出中解析您需要的内容通常要容易得多。

标签: go go-git


【解决方案1】:

使用go-git,你可以从func (r *Repository) Branch(name string) (*config.Branch, error)获得一个分支

或获取参考:

ref := plumbing.NewHashReference("refs/heads/my-branch", headRef.Hash())

从该引用中获取一个提交,每个分支一个。
这样你就可以拨打Patch()

【讨论】:

    猜你喜欢
    • 2019-02-16
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-17
    • 2013-07-10
    • 1970-01-01
    相关资源
    最近更新 更多