问题标签 [nodegit]

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 投票
1 回答
94 浏览

nodegit - 使用 nodegit 获取最新版本

如何使用 nodegit 从最新版本的 Github 存储库中获取代码?

我浏览了这个API 指南。我还查看了nodegit用户指南。有一些示例可以获取最新提交 - 但不是最新版本。

注意:我想使用nodegit而不是github's api,因为我想让我的代码git在以后的时间点与内部存储库一起工作。

0 投票
1 回答
309 浏览

javascript - 在 JS 承诺中调用所有“on”事件后返回

在 Node.js 中,使用 NodeGit。我在POST Express.js 路由中使用了与此类似的函数。这条路线应该得到endCommitstartCommit之间的提交:

但是,由于history.on("commit", ...)不是 Promise,因此.done()首先调用该函数。在日志中我看到:

只有在创建日志后才能返回?

我过去曾遇到过这样的问题,但是在这种特殊情况下,我不知道如何承诺历史对象,因为它是基于事件的。

0 投票
3 回答
150 浏览

javascript - 如何使用提交版本更新本地路径?

我正在尝试将 repo 克隆到本地文件系统,然后签出特定的提交。
这就是我所拥有的:

这很好地克隆了 repo,但我最终得到的本地版本是 master 的当前负责人,而不是我签出的提交 ( version)。

如何更新本地树以匹配此提交?
谢谢。

0 投票
1 回答
36 浏览

node.js - 代码无法在 Node.JS 中输出错误或异常

我正在使用一个名为 GitNode 的 Node.JS 库。我认为这并不重要,但基本上它是 Node.JS 中 git 命令的 API。

我有一段代码,其目的是在现有存储库中创建一个新分支。运行代码后,我知道它没有创建存储库,并且我也知道它无法正常工作。

这是我的全部代码:

我已经放置了很多 catch 语句,希望能找到我的错误。但我似乎无法输出任何东西。短语“Bad_error”或“Bad_catch”都不会输出。

我知道代码已损坏,并且 createBranch 无法正常工作。我测试了一些应该在我调用之后运行的代码repository.createBranch,但它永远不会在调用 createBranch 之前运行的任何地方运行。这表明 CreateBranch 是问题所在。

那么为什么我的错误没有被捕获呢?

编辑

我已经修复了代码并输出了错误(请参见下面的答案),但我仍然想知道为什么我的其他异常/错误语句无法工作。

0 投票
0 回答
104 浏览

node.js - 使用 Node 下载 git repo 的特定标签的代码

我想下载托管在 github 上的私有 git repo 的源代码,仅用于特定标签。据我所知,可以选择使用git clone --depth=1. 我想是关于如何使用标签的答案。

现在我想在 Node.js 脚本中执行此操作。我检查了使用libgit2的NodeGit包。问题是 libgit2不支持传递深度参数

所以我坚持使用child-process我不想做的最后一个选项,因为它看起来像是一种解决方法。有没有其他方法可以实现这一目标?

0 投票
1 回答
1199 浏览

node.js - 如何使用 nodegit 推送?

我正在尝试将文件推送到存储库中,但收到 {remote origin already exits errno -4} 的错误

基本任务 打开连接,提交文件,{pull and merge} ,推送更改

我能够打开连接,提交文件,但其余操作不起作用。

无法确定这里有什么问题我是nodegit的新手。

代码:

文件正在正确提交,但无法推送。

0 投票
1 回答
165 浏览

git - 无法使用 NodeGit 克隆托管存储库

我在 Linux 服务器中创建了一个 GIT 裸存储库。

当我尝试从本地工作站使用 Nodegit 克隆存储库时,我收到以下错误。,

err { 错误:收到意外的内容类型 errno:-1 }。

以下是apache访问日志,

/gitrepos/repository/info/refs?service=git-upload-pack HTTP/1.1" 200 59 "-" "git/1.0 (libgit2 0.25.0)"

这将“refs”作为文本返回。

任何帮助深表感谢。

提前致谢。

0 投票
0 回答
63 浏览

javascript - 仅当原点在前时,我如何才能提取代码

我正在尝试为我的 Electron 应用程序制作更新程序,我只想更新将从 git 获取的 html 代码。但我只想在源有新提交时获取代码,这样我可以在应用程序更新时重新加载浏览器。我怎样才能做到这一点?

这是我的最新代码:

0 投票
0 回答
440 浏览

node.js - nodegit - 如何在提交文件中添加/删除行?

我是nodegit的新手。我想查看最近的 10 个 repo 提交、文件更改以及各个提交中引入的更改。

我有 10 个最近提交的列表,但我一直在获取提交详细信息。

这是我正在使用的代码

});

0 投票
1 回答
90 浏览

javascript - 如何使用nodegit按日期对标签进行排序?

我们如何从 git 存储库中获取标签并按相关的提交日期对它们进行排序?

Tag.list 只返回名称,而 Tag.lookup 需要一个 OID 那么我们如何填写将标签名称转换为标签或标签 id 的缺失部分?