Как я могу создать локальную ветку, которая отслеживает удаленную ветку с помощью libgit2sharp? Эквивалент git будет:
git branch --track development origin/development
Как я могу создать локальную ветку, которая отслеживает удаленную ветку с помощью libgit2sharp? Эквивалент git будет:
git branch --track development origin/development
Следующий код должен просто сделать это, предполагая, что локальная ветвь 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
, который должен предоставить вам дополнительные сведения об использовании.