问题标签 [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.

0 投票
2 回答
1388 浏览

git - 使用 go-git 检查分支是否已推送到远程

使用 go-git,有什么方法可以检查我是否已提交,但尚未将其推送到远程?

例如:

我知道我可以使用 go-git 来检查w,_ = repo.Worktree()and w.Status(),但这似乎并没有给我我想要的东西,除非我错过了一些东西。

0 投票
1 回答
866 浏览

go - 如何使用 go-git 查找原始/主的 sha?

在我origin/master已经完成了git fetch --all. 但是,go-git 似乎也不支持:

  1. git ls-remote git@github.com:StevenACoffman/toolbox.git
  2. git rev-parse origin/master

是否有另一种方法来确定origin/master使用 go-git 的 SHA1?

0 投票
1 回答
528 浏览

git - 获取特定分支的标签

使用go-git:有没有办法只获取特定分支的(轻量级和带注释的)标签?

因为我主要对主分支的标签感兴趣,所以类似的东西git tag --merged也足够了。

使用基本的 go-git 方法似乎不可能,例如Tags()...

0 投票
1 回答
326 浏览

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

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

所以有git.Worktree.Reset(),它得到git.ResetOptions,它有一个Commit类型的属性plumbing.Hash。不幸的是,我不知道如何获取origin/<some_branch>.

我怎样才能做到这一点?

0 投票
1 回答
944 浏览

git - 如何识别 git 提交之间哪些文件已更改

我们如何使用 go-git 生成在两次提交之间更改的所有文件的列表,类似于git diff --name-only commit1 commit2

对于上下文,我们有一个 git monorepo,它包含一个根go.mod文件但有多个 Go 应用程序。当开发人员将提交推送到分支时,我们希望获取在两次 git 提交之间更改的所有文件的列表 ( git diff --name-only),并将其过滤到应用程序目录列表​​中,同时排除一些目录。我们的最终目标是,我们可以只构建、部署和测试在我们的 monorepo 中发生变化的应用程序。我们有一个与 shippable 类似的 bash 脚本来执行此操作,但我们想使用纯 go 和 go-git。

0 投票
1 回答
2384 浏览

git - 使用 go-git 克隆存储库后读取文件

我希望能够git使用go.

我最近发现了go-git这个非常方便的包。

我也能够执行pull操作,或多或少如下:

我的问题是,假设我使用上述存储库的内存签出),我将如何go从存储库中读取(我的程序)文件?即假设文件

是否最好(如果我需要这个特定文件)只执行特定文件的 git clone (仍在内存中

0 投票
1 回答
99 浏览

git - 为什么我通过 go-git 提交的日期是 1970 年?

我正在通过 go-git 提交更改:

在我的日志中,我看到了这个:

这是预期的行为吗?无论如何,我看不到我可以通过约会。对源代码的快速检查显示 Commit 对象没有任何对日期的引用...

是这样吗,还是我错过了什么?

0 投票
2 回答
1062 浏览

go - 使用基本身份验证推送到远程

我目前正在努力让 go-git 与 GitHub 上的私有存储库一起工作。尽管使用 git 命令行按预期工作 ( git push origin),但下面的代码片段不起作用。最后一条日志命令返回以下结果:

存储库本身确实存在,否则从命令行推送将不起作用。首先,我认为远程存储库为空可能与此有关。但即使不是这样,我也有同样的错误。凭据是有效的,我已经仔细检查了它们。

所以,一定有我遗漏的东西。但由于我是 Go 新手,我的专业知识太低,无法弄清楚。

0 投票
1 回答
139 浏览

git - go-git 返回的未知状态类型

我正在尝试使用librarygit获取在repo 中检查的文件的状态。go-git

所以我正在运行这个代码片段:

我得到的只是两个63s 被打印出来

就 git 状态而言,这对应于什么?

我似乎无法与StatusCode.

顺便说一句,指向的文件fullPathToApp是干净的,即它被跟踪和提交。

0 投票
1 回答
189 浏览

git - go-git 将文件报告为 Untracked 而它应该是 Unmodified

我正在尝试使用librarygit检查repo 中特定文件的状态。go-git

这是我试图运行的代码:

即我正在尝试同时使用完整路径以及我要检查的文件的相关(到回购)路径。

在这两种情况下,打印出来的内容如下:

然而,根据文档,这对应于一个Untracked文件。

特定文件已正确提交并签入。

为什么我得到错误的状态码?