问题标签 [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 回答
1272 浏览

git - 使用 --force 的 Nodegit 远程推送

我正在使用单个 github 存储库进行 CI 工作。我的应用程序收到一个 zip 文件,我在本地创建一个 repo,将我的文件提交到 master 分支,添加源远程,然后尝试推送到 github。

由于 github 存储库中已存在文件,因此我收到错误消息“[错误:无法推送,因为您尝试在远程更新的引用包含本地不存在的提交。]”

nodegit 是否支持使用 --force 标志推送到远程以覆盖所有内容?我浏览了文档并找不到它。

谢谢!杰夫

0 投票
1 回答
461 浏览

node.js - 如何列出提交中更改的文件的路径?

我目前可以走一个特定的分支来获取提交的详细信息(即作者、时间戳等),但我还想获取受提交影响的文件。

我试过的:

问题似乎出在diff.patches().then(function(patches). 我可以添加日志语句并查看其中arrayDiff有项目,foreach 正在为它工作,但我的代码永远不会到达patches.forEach.

我究竟做错了什么?有没有更好的方法来获取属于提交的文件的路径?

0 投票
1 回答
80 浏览

javascript - 在promise nodejs中处理返回值

我在 NodeJs 中构建了这个函数,

};

我已经使用模块“Nodegit”构建了这个功能。他们使用 Promise 作为回调处理程序。

在函数中,我正在检索用户在存储库上完成的所有提交,并将其作为对调用 Web 服务的响应发送。

如果至少有一个提交,该函数可以正常工作,(即)repo.getMasterCommit 返回提交历史。但是,如果我将 repoPath 提供给零提交的新 repo,则该函数不会返回任何内容,因此我无法向调用 Web 服务发送任何响应。请帮助如何处理这种情况!!!!!!!!!!

0 投票
1 回答
1346 浏览

node.js - git push remote ssh 使用 Nodegit,不工作?

嗨,我正在尝试在git push origin master的帮助下执行命令Nodegit,但这会导致错误,

我正在使用我们的内部 ssh github 服务器,它来自 git Bash,每次推送都要求输入用户名和密码。

因此,在代码中,我使用了github 站点测试站点中提到的类似示例。

请帮助解决这个问题!!!!!!

0 投票
1 回答
544 浏览

nodegit - 如何使用 Revparse 和 nodegit 获取提交和树?

我正在尝试使用 nodegit 来获取基于引用或使用 Revparse 的 oid 的提交树,我认为下面的代码可以工作,但是我得到了 getTree 未定义的错误:

如何将 Revparse 返回的对象转换为提交?

0 投票
1 回答
598 浏览

node.js - Nodegit 克隆导致“No Content-Type header in response”错误

我在 CentOS 6.7 上遇到了 nodegit 的问题。在我们的 Windows 开发环境中,我可以使用 nodegit 从远程克隆/推送/拉取。

但是,在 CentOS 上,我在克隆时收到以下错误:

响应中没有 Content-Type 标头

我们没有使用 Apache,只是使用标准的 GitLab rpm。GitLab 在 CentOS 机器上也运行良好——我能够从 Git Bash 成功拉取和推送。不幸的是,我需要通过 nodegit 以编程方式执行此操作,但它不起作用。

如果可能的话,我宁愿不必求助于 CURL——nodegit 对于我的项目来说确实是一个更有尊严的选择。

应该注意的是,我在 Gitlab 实例上使用基本的 HTTP 用户/密码进行授权,因为:

  • gitlab 和所有程序化的 git 东西都隐藏在服务器端,并且
  • 这是一个概念证明,看看 nodegit/gitlab 解决方案是否可行。

这是尝试克隆的功能 - 它在 Windows 上运行良好:

0 投票
1 回答
1450 浏览

node.js - nodegit:使用 GitHub API 令牌克隆私有存储库不起作用

我想使用 npm 包 nodegit 克隆一个私有存储库。我遵循了克隆私有存储库的指南并将克隆选项设置为流,

但我得到一个错误说,"authentication required but no callback set"。于是查了一些相关的源码nodegit,设置cloneOptions如下,

这段代码的行为有点奇怪,因为它似乎克隆了存储库但cloneOpts.fetchOpts.callbacks.credential()被重复调用并且程序并没有停止运行。

如果我改为使用用户名和密码作为 , 的参数git.Cred.userpassPlaintextNewcredentials()则只调用一次(这是预期的行为)并且存储库被克隆。

谁能给我一些关于我的代码有什么问题的提示?

0 投票
1 回答
245 浏览

node.js - 从 node.js 应用程序管理 git repo

需要从Node.js存储库。是否有git包装库或其他东西可以让我调用git高级函数并解释结果而无需解析控制台输出?

0 投票
1 回答
503 浏览

javascript - 如何使用 nodegit 重置分阶段和非分阶段的更改

通过执行以下操作将 HEAD 设置为分离状态后,我尝试git reset --hard通过 nodegit 执行:

但没有任何成功。

  • 难道我做错了什么?
  • 我错过了一步吗?
0 投票
2 回答
2171 浏览

javascript - Nodegit - 获取两个提交之间的差异

我有两个分支mastermaster.min在我的仓库中。

假设我当前的分支是master.min.

我的主分支正在提交 -abcd

一些推送发生在主分支 - efgh,ijkl

我存储我的主分支的当前提交:

由于分支之间的切换时间长,我需要完成所有剩余的操作master.min

所以,我做了一个提取:

现在,我需要获取在abcd&之间添加、修改或删除的所有文件的列表ijkl