为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用go-git找到origin/master的sha?

如何使用go-git找到origin/master的sha?

Go
互换的青春 2023-07-17 13:53:01
origin/master在我已经完成了 的等效操作之后,我正在尝试使用 go-git 来查找 的 SHA1 git fetch --all。然而,go-git 似乎不支持:git ls-remote git@github.com:StevenACoffman/toolbox.gitgit rev-parse origin/master是否有其他方法来确定使用 go-git 的 SHA1 origin/master?
查看完整描述

1 回答

?
陪伴而非守候

TA贡献1757条经验 获得超8个赞

哎呀!git rev-parse支持!使用以下命令执行./main.go $PWD origin/master:


///usr/bin/env go run "$0" "$@" ; exit "$?"

package main


import (

    "fmt"

    "os"


    "gopkg.in/src-d/go-git.v4"

    . "gopkg.in/src-d/go-git.v4/_examples"

    "gopkg.in/src-d/go-git.v4/plumbing"

)


// Example how to resolve a revision into its commit counterpart

func main() {

    CheckArgs("<path>", "<revision>")


    path := os.Args[1]

    revision := os.Args[2]


    // We instantiate a new repository targeting the given path (the .git     folder)

    r, err := git.PlainOpen(path)

    CheckIfError(err)


    // Resolve revision into a sha1 commit, only some revisions are resolved

    // look at the doc to get more details

    Info("git rev-parse %s", revision)


    h, err := r.ResolveRevision(plumbing.Revision(revision))


    CheckIfError(err)


    fmt.Println(h.String())

}



查看完整回答
反对 回复 2023-07-17
  • 1 回答
  • 0 关注
  • 112 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信