问题标签 [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.
javascript - 如何使用nodegit从标签名中获取提交sha?
我有这个:
如果 tagName 只是提交的别名,则此代码有效,但如果标签是使用 nodegit 创建的正确标签,则会给我一个错误:
使用git show [tagname]
时显示如下:
那么我如何从这个标签引用中获得提交本身(c465e)?
javascript - 如何使用 nodegit 获取当前分支名称?
我需要知道当前已签出哪个分支。
我看到的一种解决方案是列出分支并检查哪个'==='当前'HEAD'。还有其他方法吗?
node.js - NodeGit如何获取另一个分支的最后提交ID?
我有两个分支从我的系统 Master 和 Dev 中签出。
我的工作目录是 Master 中的 Master 我想在知道差异后将文件推送/合并到 dev。
例如在 Master 中我正在处理 abc.txt 文件,我想检查 dev 中存在的文件与 master 之间的区别。我该怎么做?
收到此错误
推送时出错 == 错误:找不到速记“dev”的引用(节点:93479) UnhandledPromiseRejectionWarning:未处理的承诺拒绝(拒绝 id:1):错误:找不到速记“dev”的引用
代码
node.js - 无法在电子项目中导入本机 nodejs 模块
我正在开发一个使用 webpack 构建的开源电子项目。我的项目的一项要求是使用必须构建为本机模块的nodegit库。
在使用本机模块和电子时,我遵循了看似传统的建议。也就是说,我运行了 electron-rebuild,配置了要使用的源包,最后配置了 node-loader来捕获任何.node
文件的导入。
不幸的是,当我去包含模块时,我最终得到了这个错误:
在这一点上我唯一能看到的可疑之处是,当我重建模块以使用电子时,我只得到一个Release
目录,而导入似乎正在寻找Debug
:
然而,这可能是一个红鲱鱼,因为 nodegit 被写入尝试Debug
作为Release
失败后的后备。
这里的一般问题是“如何让这个本机模块在我的项目中工作?”。
我在 repo 也有一个相应的问题,尽管如果我的问题与库本身无关,或者有一些电子原生模块的老兵,我认为 SO 将是一个好地方也检查一下。
git - 如何使用 NodeGit 拉出所有分支?
我正在尝试更新我的本地存储库。
根据文档,执行 fetchAll 会从远程获取所有分支,这就是我目前正在做的事情。没有什么能像pullAll 那样自动将这些遥控器与我的本地遥控器合并。
我现在的想法是在执行 fetchAll 后获取所有分支
然后遍历它们,过滤掉匹配的并做一些字符串的东西来适应它们到repository.mergeBranches("master", "origin/master");
在这样做的同时,我只是认为这不是认真的方法,而且必须以某种方式找到捷径。
如何简单地将本地存储库与远程存储库同步,包括所有分支,而无需再次克隆存储库?
node.js - 在承诺循环中使用承诺的正确方法
你好,
我将 Promise 用于初始化节点项目。
我想在我的 MongoDb 中插入我的 git 存储库上所有分支上的文件名。
我使用 nodegit 来操作 repo,对于每个 nodegit 方法,返回都是一个 Promise。但我需要循环所有分支引用以获取所有文件和分支名称。
之后,我可以准备我的数组以在下一个承诺中插入数据库。
代码如下:
该代码通过两种方式完成:
- 第一的 :
我确信在这个 repo 中没有其他进程使用 git!
- 第二 :
我的所有文件都为“分支”获得相同的值,但它们位于不同的分支上。
谢谢你们帮助我!
赛亚。
libgit2 - nodegit:getHeadCommit() 保存目录(libgit2)
nodegit
在我使用和调用克隆存储库后getHeadCommit()
,节点进程会保存该目录,从而防止它被代码(fs-extra remove)或操作系统删除。
错误信息:
我的代码有错误吗?或者有没有一种方法可以在nodegit
使用后释放存储库目录repository.getHeadCommit()
?