在VB.net中使用NGit克隆GIT存储库

时间:2018-11-27 11:50:40

标签: .net git jgit ngit

我的目标是通过GIT代码在.NET存储库上执行克隆和提取操作。克隆时,我特别想克隆一个特定的分支。如果特定的存储库已经克隆但具有不同的分支,那么我也希望能够知道它。

我已经成功地使用Java中的jGit实现了此功能,但是现在我需要在.NET中开发类似的工具,并且我更喜欢使用NGit,因为它是{{ 1}}库。

但是,尽管我使用了将相关参数传递给jGIT中的clone方法的精确方法,但是我看不到存储库正在下载。下面是我的代码:

NGit

运行此命令时,需要花费几秒钟的时间,并且没有错误。但是在下载文件夹中,我看到只有一个包含某些元数据的Dim branches As List(Of String) = New List(Of String) From {branch} Git.CloneRepository. SetURI(cloneURL). SetDirectory(New Sharpen.FilePath(downloadFolder)). SetBranchesToClone(branches). SetCredentialsProvider(New UsernamePasswordCredentialsProvider(userID, userPwd)). SetBranch(branch). Call() 文件夹,并且未下载源文件。如果我从上述代码中删除了.gitSetBranchesToClone方法,它将成功从master分支下载文件。

为什么在提供分支机构信息时不起作用?

1 个答案:

答案 0 :(得分:0)

我发现在jGit中,您可以使用确切的分支名称,例如MyBranch,而在NGit的情况下,您需要传递refs/heads/MyBranch才能起作用。显然,尽管nGit声称是jGit的自动端口,但是它们的工作方式还是有一些细微的差异。