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

时间:2015-07-08 05:56:53

标签: git git-branch git-clone libgit2sharp repo

libgit2sharp 0.21.0.176 Windows Server 2008上的C#

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

在我的Windows机器上,我在GitHub上从远程来源获取了新的git clone本地存储。

接下来,我执行以下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上的远程源上。

1 个答案:

答案 0 :(得分:1)

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

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

两个选项:

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