创建本地分支以使用 libgit2sharp 跟踪远程分支

Jan*_*m B 1 libgit2sharp

如何使用 libgit2sharp 创建跟踪远程分支的本地分支?git 等价物是:

git branch --track development origin/development
Run Code Online (Sandbox Code Playgroud)

nul*_*ken 5

假设本地development分支尚不存在,以下代码应该这样做。

const string testBranchName = "development";
const string trackedBranchName = "origin/development";

using (var repo = new Repository(path))
{
    // Retrieve remote tracking branch
    Branch trackedBranch = repo.Branches[trackedBranchName];
    Debug.Assert(trackedBranch.IsRemote == true);

    // Create local branch pointing at the same Commit
    Branch branch = repo.CreateBranch(testBranchName, trackedBranch.Tip);

    repo.Branches.Update(branch,
        b => b.TrackedBranch = trackedBranch.CanonicalName);
}
Run Code Online (Sandbox Code Playgroud)

注:该BranchFixture.cs套件包含一个CanSetTrackedBranch测试,应为您提供进一步的使用细节。