C# GitSharp vs NGit
和的当前状态如何?哪一个更适合.NET中的Git自动化?我使用过GitSharp,一年前就已经足够好了。我认为GitSharp上的活动减少了,但我认为这是一个更好的实现。我不喜欢NGit在很大程度上是JGit的一个自动化端口,包括它的一些依赖项(GitSharp使用SharpSSH,而NGit使用NSch,JSch的一个端口)。这意味着可能存在一些次优性能和其他问题,但我没有使用NGit,因此我不能支持我的说法C# GitSharp vs NGit,c#,.net,git,gitsharp,ngit,C#,.net,Git,Gitsharp,Ngit,和的当前状态如何?哪一个更适合.NET中的Git自动化?我使用过GitSharp,一年前就已经足够好了。我认为GitSharp上的活动减少了,但我认为这是一个更好的实现。我不喜欢NGit在很大程度上是JGit的一个自动化端口,包括它的一些依赖项(GitSharp使用SharpSSH,而NGit使用NSch,JSch的一个端口)。这意味着可能存在一些次优性能和其他问题,但我没有使用NGit,因此我不能支持我的说法 GitSharp(至少是它的核心)是一个手动的、逐行的JGit端口。自2010年8
- GitSharp(至少是它的核心)是一个手动的、逐行的JGit端口。自2010年8月以来,其开发目前已暂停。然而,一些产品仍然依赖于它(例如)
- NGit是JGit的一个自动化端口。它不断根据JGit进行更新,并不断从JGit改进和错误修复中获益。NGit目前用于解决这一问题
GitSharp更高级,低级部分在GitSharp.Core中实现 GitSharp具有.NET风格,而NGit过于Javaish。 目前,诸如Commit、Tag等命令还没有在GitSharp中实现,而这些命令已经在NGit中实现 就个人而言,我更喜欢GitSharp,因为它提供了纯.NET实现。NGit半自动地与更大的库集(JSch、GRIP)进行了移植,但它仍然是纯.NET。纯.NET DLL(任何CPU)易于部署!!!
libgit2sharp只是C库的包装器,我们还必须部署C库。针对许多平台和体系结构(x86、x64、Windows、Linux),C库的部署更麻烦。由于GitSharp项目与上游jgit不同步,我们必须切换到NGit,它定期与最新的jgit同步。要使GitSharp项目充满活力,需要付出巨大的努力 较低级别的NGit.dll可以替换GitSharp.Core.dll
更高级别的GitSharp.dll可以移植到接口NGit.dll。+1对于NGit,我在mono中使用过,它是mono的一部分,所以。。。未来会有大量的更新,也许这就是为什么Git#有点“随风而去”。@balexandre:NGit的推出是因为GitSharp不再维护。此外,GitSharp还有一些不符合Mono的依赖项(Winterdom,IIRC),好吧,我可能先从NGit开始。比这两者都好。并得到积极支持。试试看。我的GitAspx分支现在正在从GitSharp切换到NGit。看见