问题标签 [go-git]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - 如何使用用户/密码身份验证通过 go-git 克隆存储库?
我正在尝试使用用户/密码(BasicAuth)执行一组 git clone 操作,它运行正常,但在某些时候它会因错误而停止。
- 我正在使用
git.PlainClone(...)
+http.BasicAuth{}
。 - 我尝试了几个具有相同结果的文件夹。我收到类似的消息,但每次运行都不同:
error: mkdir /tmp/foo/.git/refs/remotes/origin/addusers: not a directory
. - 它适用于开放的 Git 存储库。
这是代码:
错误:
go - go-git 从轻量级标签中获取树
我正在尝试从 git 标签获取文件树,一切正常,直到我发现一些标签没有注释,因此不是 TagObject
这是我当前的代码:
但现在我必须将其更改为以下内容才能访问轻量级标签
第三部分 (tree, err = t.Tree()) 当然不再起作用,因为 *plumbing.Reference 没有字段或方法 Tree
有什么办法可以从
得到一棵树?
git - 如何签出最新版本标签
我知道如何使用Checkout(&git.checkoutOptions)
with plumbing.ReferenceName("<branchName>")
or签出特定的提交或分支plumbing.Hash("<commit hash>")
,但我希望能够克隆特定的发布版本。关于如何做到这一点的任何想法?
go - 如何使用 go-git 包获取特定哈希的 git 标签以获取类似于 git describe --tags --always 的输出
我正在使用 go-git 包来获取标签,在使用函数“TagObject”时,它返回 null。我应该怎么写?
实际文件:
测试文件:
如何在我的实际文件中获取标签?错误:
git - 如何在 go 中用 go-git 模仿 git --work-tree ...
我有一个裸存储库,我需要在其中添加和提交一组文件。据我了解,将文件添加到索引需要一个worktree。在命令行上使用git
,我会将git-dir
选项设置为指向裸目录,同时将work-tree
选项设置为指向要添加到索引的文件所在的工作树。像这样:
值得一提的是,“.git”目录不是,也不能简单地命名为“.git”。它实际上是一个“自定义”“.git”目录。喜欢git --git-dir /path/to/.notgit ...
。
我尝试设置core.worktree
配置选项。但是,core.bare
设置为true
这会导致致命错误。两者都来自命令行:
并使用go-git
:
我的一个想法是依靠该git.PlainOpenWithOptions
功能,希望能够让我提供一个工作树作为选项。然而,看看git.PlainOpenOptions
结构类型,这很快就崩溃了。
git --work-tree ...
我该如何模仿go-git
?
编辑 1:解释说“.git”不完全命名为“.git”。
go - 分支之间的 go-git diff
go-git 可以获取两个分支之间的差异,或者,例如,当前分支和主分支?
使用 GIT,您可以获得当前分支和主分支之间的差异:
在两个分支之间:
我发现这个答案可以使用 (*object.Commit).Patch,但在提交之间,而不是分支之间。
git - 无法使用 go-git 和访问令牌运行 https git clone
使用go-git/v5
并尝试克隆https
如下:
token
表单的字符串在哪里ghp_XXXXXXXXX
(我的个人 GH 访问令牌)
repo
等于我的私人回购https://github.com/pkaramol/arepo
错误是
我还尝试将基本身份验证与我的用户名和令牌作为密码一起使用
现在错误变为:
通过https克隆的正确方法是什么?
该令牌具有repo
范围 fwiw
编辑:
实例化fs
如下
使用的http
包如下
go - Golang - 在不克隆 repo 的情况下获取 git 远程分支列表
我想要一个 git repo 的所有远程分支的列表。现在,这个 git repo 可以是私有的/公共的。我有权访问令牌以访问存储库。
我正在使用这个特定的 SDK:https ://pkg.go.dev/github.com/go-git/go-git/v5
一种方法是..
但是,这涉及到首先克隆 repo。如何在不克隆 repo 的情况下获取列表?
提前感谢!
go - Go Git - 递归子模块
我有一个包含子模块的项目,如此处所示。
我正在使用 go-git pkg 并尝试使用此处显示的选项进行克隆,
它不会递归地拉取子模块。我只看到空目录。我错过了什么吗?
go - 如何使用 go-git 进行单元测试
如何为使用 git-go 克隆 repo 的代码编写单元测试
下面是我创建的函数的示例。我正在克隆多个存储库并读取该存储库中的特定文件,我不确定如何对该函数进行单元测试。