在新克隆的 repo 上找不到 libgit2sharp 分支

libgit2sharp branch not found on freshly cloned repo

libgit2sharp 0.21.0.176 Windows 服务器 2008

上的 C#

我需要获取对特定分支的引用。

在我的 Windows 机器上,我从 GitHub 上的远程源重新 git 克隆本地存储库。

接下来我执行以下 libgit2sharp 代码:

var localRepo = new Repository({local-path},RepositoryOptions);
var remote = localRepo.Network.Remotes.Add("origin", {remote-repo-uri);
localRepo.Network.Fetch(remote, FetchOptions, Signature, "performing fetch");
var branch = localRepo.Branches[{branch-name}];

但是该分支不存在于集合中,即使它存在于 GitHub 的远程源上。

与git类似,只有默认分支(或在CloneOptions.BranchName中指定的分支)在克隆时被创建为本地头。

获取其他分支,但仅作为远程跟踪分支。

两个选项:

  • 鉴于您的远程名为 "origin",您可以通过localRepo.Branches["origin/{branch-name}"];
  • 访问这些远程跟踪分支
  • 您创建一个本地分支并将其配置为跟踪其远程副本。有关如何执行此操作的示例,请参阅 BranchFixture.CanSetUpstreamBranch() 测试。