问题标签 [ngit]

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 回答
214 浏览

c# - 为 SSH 传输生成 Mono.Security Diffie-Helman 密钥时出现异常/挂起

我正在尝试在 Ngit 上通过 SSH 进行推送。我正在使用此处列出的方法指定我自己的密钥:NGit making a connection with a private key file

它适用于克隆,并且在第一次推送时。之后,它在 30% 的时间里失败了,在 Mono.Security 中总是在这个方法中:

要么失败并显示消息:“在加密函数期间发生错误”,要么在此函数中无限期挂起。同样,它是否成功似乎完全随机。它被NGit中的函数调用:

在 GenerateKeyPair (KeyPairGenerator.cs)

有任何想法吗?如果没有,有没有办法通过其他方法生成 Diffie-Helman 密钥?

非常感谢,

干杯,

更新:我发现了一个我不完全理解的奇怪解决方案:

以前,我创建了一个新线程,因为我从 UI 调用它并且不希望它挂起。这是一个 STA 线程,因为我们正在构建一个 VSTO 应用程序,它不支持来自 UI 组件的 MTA / BackgroundWorker() 等(几乎限制了您使用旧的 Thread(),因为您可以根据需要指定它是 STA )。我发现当用户在推送过程中点击周围时问题更频繁地发生(因此进行了一些 git checkouts),所以我禁用了线程并直接从 UI 运行它。从那时起,它像地狱一样冻结了 UI,但不会在 BigInt 的计算上挂起 pr crash。对于这种情况,我完全感到困惑,除非:Office(我们正在为其构建插件)以某种方式无法为 BigInt 计算提供具有足够内存的线程(或对该内存管理不善,这不会32位数字)断线??)

知道这可能是什么原因吗?

0 投票
0 回答
1932 浏览

jgit - 如何挑选具有多个父级的提交?

我正在编写一个应用程序,该应用程序可以根据新头自动重新构建分支。它使用樱桃采摘来完成工作,但很多时候应用程序会遇到有 2 个父级的合并提交。当我做:

_ngit.CherryPick().Include(commit).Call();

...它抛出一个异常,Cannot cherry-pick commit '{commit_id}' because it has 2 parents, only commits with exactly one parent are supported.

我需要能够挑选这些合并提交,选择第一个父级作为基础。似乎会有类似的东西:

_ngit.CherryPick().Include(commit).WithBase(0).Call();0我想用作基础的第一个父级的索引在哪里)

我在网上看到了人们试图将这种能力添加到 jgit 中的各种提示,但我从未见过任何文档或 API 中表明它可用的任何内容。一些这样的“提示”是:

如果 jgit 可以做到这一点,请告诉我如何。如果有另一种方法可以将这些合并提交添加到我的新分支中,我会全力以赴。

0 投票
1 回答
214 浏览

c# - 删除克隆的 repo

我想使用 Ngit 删除磁盘上的克隆存储库,NGit 是 JGit 的一个端口。

我以前这样做是为了在本地克隆一个远程仓库:

我现在想删除包含该克隆存储库的本地目录。

System.IO.Directory.Delete()当它到达.git\objects\pack\*.idx文件时简单地调用时,我收到了权限异常。也许这只是在 Windows Azure 上运行它的副作用。

是否有一个 NGit 命令我可以.git通过使用 Ngit 中的功能来删除目录及其所有内容?

0 投票
1 回答
40 浏览

c# - 缺少 CleanCommand 参数

使用 NGi,我需要运行与以下 CLI 命令等效的git clean命令:

但是CleanCommand 类中没有强制或清理目录等选项。这里最好的解决方法是什么?

0 投票
2 回答
533 浏览

c# - Ngit 中查看远程仓库是否更改的方法是什么?

我正在尝试使用Ngit 中的IsClean ()来确定是否在工作副本中检测到任何更改,它工作正常,但是当我尝试查看远程中是否有任何更改时,我认为 IsClean() 不是正确的方法尝试。所以我想知道是否有任何其他方法可以帮助我看到远程所做的更改。我尝试拉远程 repo,但它似乎不起作用,有谁知道 Ngit 中是否有任何方法可以解决这个问题。

我在 IsClean() 上从这里找到了教程。

我实际上想要类似于 buildbot 的gitpoller的东西。如果有人能告诉我如何开始,我很乐意朝那个方向工作。

0 投票
1 回答
965 浏览

git - 使用 NGit / JGit 将存储库克隆到现有目录

我正在尝试将 GitHub 存储库克隆到现有的非空目录中。我尝试模仿使用 git 命令行的方式:


在这种特殊情况下,我收到了“Nothing to fetch”错误。我尝试了许多不同的事情,包括克隆到临时字典,使用 BranchCreate,......但我总是在某个地方遇到问题。

那么,您将如何正确克隆存储库并将其设置为将来获取更新?

0 投票
1 回答
245 浏览

c# - 如何使用 Ngit 获取实际标签?

我需要知道 Ngit 在分离分支中的当前标签(在 a 之后git checkout tagname

我试图列出 Git 标签

但我无法找到如何将此标签与最后一次提交相关联。

0 投票
1 回答
122 浏览

c# - NGIT:克隆 CodeCommit 存储库

抱歉,我正在尝试使用 NGit 克隆 CodeCommit 存储库。也许我需要使用自定义 CredentialProvider,但是如何?如果需要,我可以更改为 C# 中的任何其他 GIT 库关于如何执行此操作的任何想法?谢谢你,加布里埃尔

0 投票
1 回答
1364 浏览

intellij-idea - 无法停止跟踪 JetBrains .idea 文件

我已将.idea文件添加到我的.gitignore文件中,这似乎工作正常。不过,由于我的.idea文件已经被跟踪,早期的帖子建议使用以下代码,以使它们脱离版本控制。

或者

不过,无论哪种情况,我都会收到以下消息:

致命:pathspec '.idea' 不匹配任何文件。

但是,当我在此文件夹中列出我的文件时,.idea就在顶部。

我究竟做错了什么?

0 投票
1 回答
624 浏览

c# - 在 C# 上使用 SSH 进行 NGit(JGit 端口)身份验证

我很想用 Ngit 在我的应用程序中设置 Git 功能。该存储库是在 BitBucket 上经过 SSH 身份验证的存储库,我无法对推送、拉取、克隆等 Git 功能进行身份验证。

我的代码如下:

JschConfigSessionFactory:

传输配置回调:

推送命令:

在 PushCommand.Call() 出现以下异常:

BitBucket 帐户已经设置了 SSH 密钥,并且一切都可以与其他 GIT 工具一起使用。

在这一点上,我不知道可能出了什么问题,我会很感激任何正确方向的指示。

在带有 .Net 4.5.2 的 Visual Studio 2017 上使用 C#

编辑 1

按照此处的答案更改代码会产生相同的异常。