问题标签 [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 检查分支是否已推送到远程
使用 go-git,有什么方法可以检查我是否已提交,但尚未将其推送到远程?
例如:
我知道我可以使用 go-git 来检查w,_ = repo.Worktree()
and w.Status()
,但这似乎并没有给我我想要的东西,除非我错过了一些东西。
go - 如何使用 go-git 查找原始/主的 sha?
在我origin/master
已经完成了git fetch --all
. 但是,go-git 似乎也不支持:
git ls-remote git@github.com:StevenACoffman/toolbox.git
git rev-parse origin/master
是否有另一种方法来确定origin/master
使用 go-git 的 SHA1?
git - 获取特定分支的标签
使用go-git
:有没有办法只获取特定分支的(轻量级和带注释的)标签?
因为我主要对主分支的标签感兴趣,所以类似的东西git tag --merged
也足够了。
使用基本的 go-git 方法似乎不可能,例如Tags()
...
git - go-git:是否可以对原始分支执行硬重置?
我正在尝试使用 go-git 以编程方式实现以下 git 命令的结果:
所以有git.Worktree.Reset()
,它得到git.ResetOptions
,它有一个Commit
类型的属性plumbing.Hash
。不幸的是,我不知道如何获取origin/<some_branch>
.
我怎样才能做到这一点?
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。
git - 使用 go-git 克隆存储库后读取文件
我希望能够git
使用go
.
我最近发现了go-git
这个非常方便的包。
我也能够执行pull
操作,或多或少如下:
我的问题是,假设我使用上述存储库的内存签出),我将如何go
从存储库中读取(我的程序)文件?即假设文件
是否最好(如果我只需要这个特定文件)只执行特定文件的 git clone (仍在内存中)?
git - 为什么我通过 go-git 提交的日期是 1970 年?
我正在通过 go-git 提交更改:
在我的日志中,我看到了这个:
这是预期的行为吗?无论如何,我看不到我可以通过约会。对源代码的快速检查显示 Commit 对象没有任何对日期的引用...
是这样吗,还是我错过了什么?
go - 使用基本身份验证推送到远程
我目前正在努力让 go-git 与 GitHub 上的私有存储库一起工作。尽管使用 git 命令行按预期工作 ( git push origin
),但下面的代码片段不起作用。最后一条日志命令返回以下结果:
存储库本身确实存在,否则从命令行推送将不起作用。首先,我认为远程存储库为空可能与此有关。但即使不是这样,我也有同样的错误。凭据是有效的,我已经仔细检查了它们。
所以,一定有我遗漏的东西。但由于我是 Go 新手,我的专业知识太低,无法弄清楚。