git - go-git:是否可以对原始分支执行硬重置?

标签 git go go-git

我正在尝试使用go-git以编程方式实现以下git命令的结果:

git fetch
git reset --hard origin/<some_branch>

因此,存在git.Worktree.Reset(),它获得git.ResetOptions,它具有Commit类型的plumbing.Hash属性。不幸的是,我不知道如何获取origin/<some_branch>的哈希值。

我怎样才能做到这一点?

最佳答案

从命令行使用Git时,您需要使用rev-parse(请参阅How to find the hash of branch in Git?)。

它似乎在go-git中部分实现:

存在一种满足的方法(*Repository).ResolveRevision
rev-parse的部分行为

资料来源:https://github.com/src-d/go-git/issues/599

关于git - go-git:是否可以对原始分支执行硬重置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247194/

相关文章:

git checkout 在 --assume-unchanged 文件上抛出错误

具有多个主分支的 Gitflow

git - 将选择更改提交到另一个分支然后恢复当前分支的工作?

go - 如何使用连接池到 aerospike 服务器

go - 读者多次阅读

docker 多阶段构建 Go 镜像 - x509 : certificate signed by unknown authority

git - 如何将 Bower 与私有(private) Bitbucket 存储库一起使用?

MongoDB Go 驱动程序无法正确解码嵌套文档

go - git credential.helper而不是.netrc以获取依赖关系

go - 如何使用 golang 在 git repo 中 check out 特定的 SHA