我想删除本地和远程分支。
我的代码:

using (var repository = new Repository(path))
{
    var remote = repository.Network.Remotes["origin"];
    var options = new PushOptions();
    var credentials = options.CredentialsProvider = GetUserCredentialsProvider();
    options.CredentialsProvider = credentials;
    string pushRefSpec = @"refs/heads/:{0}".FormatWith(branch);
    repository.Network.Push(remote, pushRefSpec);
    repository.Branches.Remove(repository.Branches[branch]);
}

但我得到401错误(“未授权”)。
这是因为分行名称中有“:”字样。
但我读到它们是必要的,因为它们就像本地git中的“-delete”。
谢谢你的帮助!

最佳答案

这是失败的401未授权错误,因为它是未授权的。要修复此错误,只需将包含凭据的options传递给Push()方法:

repository.Network.Push(remote, pushRefSpec, options)

帮我解决了这个问题。

关于c# - libgit2sharp删除远程分支,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34307963/

10-13 05:14