Создайте локальную ветку для отслеживания удаленной ветки с помощью libgit2sharp.

Как я могу создать локальную ветку, которая отслеживает удаленную ветку с помощью libgit2sharp? Эквивалент git будет:

git branch --track development origin/development

person Jan Willem B    schedule 26.03.2014    source источник


Ответы (1)


Следующий код должен просто сделать это, предполагая, что локальная ветвь 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);
}

Примечание. ">Комплект BranchFixture.cs содержит тест CanSetTrackedBranch, который должен предоставить вам дополнительные сведения об использовании.

person nulltoken    schedule 26.03.2014