问题标签 [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 投票
0 回答
136 浏览

merge - NodeGit fileHistoryWalk 不显示合并提交

我发现当我对文件使用“fileHistoryWalk”时。

结果显示最后一次提交是红色的,而不是蓝色的。

红色和蓝色之间的合并提交也没有显示。

我怎样才能真正知道有关文件的所有提交,包括合并提交?

我确信合并提交(蓝色一个)修改了我想要关注的文件。

我也知道当你在 gitKraken 中看到文件历史时。它也不显示。

谢谢

https://github.com/nodegit/nodegit/issues/1531

0 投票
0 回答
1048 浏览

javascript - nodegit 签出和切换(远程)分支

当我使用 git(终端)克隆存储库,然后使用 nodegit 对远程开发分支进行检查时,它工作得很好。
但是我遇到了问题,当我想切换回远程主分支时,使用提供的示例,我无法弄清楚。

使用 SSH 克隆

Checkout to develop 可以使用以下代码,但不能用于切换回来,因为 master 分支已经在本地存在。

我用这段代码尝试了它,它将我的本地副本重置到主分支,但没有“跟随”它,因为拉动告诉我之后,我是 X 提交落后并且我应该做拉动。

repositoryConfig.branch我设置分支以启用切换。

我并不完全了解 git 以及它如何与附加/分离 HEAD 一起工作,反之亦然。
所以会很感激任何帮助。

0 投票
2 回答
252 浏览

javascript - Nodegit 如何获取新的分支列表?

我获取了所有分支一次(总共 5 个分支),我删除了一个分支,本地和远程,这仍然返回 5 个分支,但它应该返回 4 个分支,我怎样才能获得新的分支列表?

0 投票
1 回答
178 浏览

javascript - 使用 NodeGit / LibGit2 将文件写入不在根目录的裸存储库

我已经能够使用以下代码将文件写入裸存储库中的分支,但它仅适用于根目录中的文件。我无法在文档中找到如何为子文件夹构建树并将其用作提交的好例子。

在(例如)src/test.txt 中而不是 test.txt 中发布需要进行哪些修改?

0 投票
1 回答
686 浏览

javascript - Console.log 未显示在节点承诺的第二层

我正在使用nodegit创建一个基于 git 提交的自定义 CHANGELOG 生成器(我不太喜欢现有的类似项目,至少在理论上它是一个非常简单的工具)。

console.log我现在的问题是,当它位于第二层承诺时,我似乎无法显示任何输出。

此代码显示第一个console.log条目,但第二个条目消失在网络空间中。它没有显示任何错误或任何东西,只是没有出现在控制台中。

只是为了验证问题不在getTagByName函数中,下面的代码可以正常工作并输出THIS SHOWS,所以它与将日志记录函数放在承诺的第二层有关。

顺便说一句,我尝试了相同代码的几个不同版本,例如使用return repo_handle.Tag.list(repo_handle)and then(tag_list),但结果是相同的。

据我所知,代码实际上没有任何错误或任何东西,代码似乎工作得很好,因为我没有收到任何错误,但如果console.log不能正常工作,那么它可能就是这种情况它也没有向我显示错误...

0 投票
2 回答
1762 浏览

node.js - 动态链接库 (DLL) 初始化例程在使用 nodegit 的电子中失败

当我在电子中使用 nodegit 时,启动应用程序时出现错误:

应用程序在加载期间抛出错误

错误:动态链接库 (DLL) 初始化例程失败。

\?\D:\Electron\hello\node_modules\nodegit\build\Release\nodegit.node

在 process.module.(匿名函数) [as dlopen] (ELECTRON_ASAR.js:166:20)

在 Object.Module._extensions..node (internal/modules/cjs/loader.js:740:18)

...

我可以在 nodejs 中成功使用 nodegit,但在电子中失败。

即使我在下面添加了 .npmrc 文件,它仍然失败。

有谁知道如何在电子中修复它?我的环境是 windows 10 x64 与 2017,节点 10.13,电子 3.010

0 投票
0 回答
359 浏览

javascript - 在 Electron 应用程序中使用 nodegit 会引发“找不到符号:”错误

我在 electron 中构建了一个项目,完成后我想将 git 支持添加到应用程序。我尝试通过将NodeGit添加到我的项目中来添加它。简单的

并创建文件 git.js 仅

我运行脚本

不幸的是,当我尝试运行我的程序时,我遇到了错误:

我尝试删除 node_modules 文件夹并再次安装 npm。我尝试 npm 重建。当我输入“node -v”时,我有

V10.15.0

有什么方法可以解决这个问题,或者以不同的方式向电子应用程序添加 git 支持?

感谢您的回答!:)

0 投票
0 回答
361 浏览

javascript - 使用 nodegit 列出两个分支之间的不同提交

在我的程序中,我使用的是 nodegit。我可以使用 nodegit 列出提交:

但我的问题是做同样的事情,但在提交中使用 nodegit 列出了两个分支之间的不同提交。

通过推荐,我发现的主要是在 GitBash 中:

我的代码应该将 master 与现场工具中的早午餐进行比较: 网站上的比较工具

然后以 JSON 格式获取所有提交和存储信息,就像在主代码中一样。谢谢大家的帮助。

0 投票
0 回答
538 浏览

node.js - 如何将生成的文件从节点应用程序推送到 github 存储库?

将在节点应用程序中的某些用户操作上创建一个文件。创建文件后,应将其推送到 github 存储库到特定分支。我曾尝试使用 simple-git 但无法实现。

这适用于节点应用程序,其中将在某些用户操作上创建文件。我试图从节点访问远程存储库,但最终出现了一些错误。

0 投票
2 回答
1693 浏览

javascript - 如何使用凭据在 Windows 上使用 nodegit.push

编辑:我正在更改问题以适应我目前对已发生重大变化的问题的理解。

原标题: Nodegit 似乎在推送时要求输入错误的凭据

当尝试push使用时,似乎在 Windows 上没有任何效果(虽然它们在 Linux 上运行良好)。

  • 使用 SSH
    • sshKeyFromAgent-验证错误:连接代理失败
    • sshKeyNew-credentials回调是重复的(看起来像一个无限循环,但我不能确定
    • sshKeyMemoryNew:credentials被调用两次,然后节点退出,没有诊断(exitbeforeExit事件process没有发出信号)
  • 使用 HTTPS
    • userpassPlaintextNew[错误:未知证书检查失败] errno:-17

原始问题如下。


我正在尝试解决nodegitpush以下问题似乎解决了这种情况。但是我无法让它工作。

我已经使用 SSH 克隆了一个存储库,当我尝试推送时,我的credentials回调是用用户git而不是motti(这是实际的 git 用户)调用的。

我得到以下输出:

Push 在 git@github 上要求提供“git”的凭据。[已编辑] .net:motti/tmp.git
错误:{错误:错误身份验证:连接代理失败 errno:-1,errorFunction:'Remote.push'}

如果我尝试将motti硬编码到sshKeyFromAgent函数中,错误将变为:

错误:{错误:用户名与先前的请求不匹配 errno:-1,errorFunction:'Remote.push'}

这是我第一次尝试以编程方式使用 git,所以我可能会遗漏一些基本的东西......

回答评论中的一些问题:

  • 我在 Windows 10 上运行
  • 节点 v8.9.4
  • git 版本 2.15.0.windows.1
  • 节点git版本0.24.1
  • 运行节点的用户是我的主要用户,当我在命令行中使用 git 时它可以正常工作