如果存储库是公共的,则推送到远程将抛出异常。如果存储库是私有的,则相同的代码第二次调用也会抛出401错误。可以使用命令行或Sourcetree进行推送。如何推动ligbit2sharp与公共存储库一起工作?
例外:
{Name =“LibGit2SharpException”FullName = “LibGit2Sharp.LibGit2SharpException”} message =“请求失败 状态码:401“innerException = null HResult = -2146233088
堆栈:
at LibGit2Sharp.Core.Ensure.HandleError(Int32 result)at LibGit2Sharp.Core.Proxy.git_remote_push(RemoteHandle远程, IEnumerable1 refSpecs,GitPushOptions opts)at LibGit2Sharp.Network.Push(远程远程,IEnumerable1 pushRefSpecs, PushGptions pushOptions)在LibGit2Sharp.Network.Push(远程远程, 在LibGit2Sharp.Network.Push(Remote,IEnumerable`1 pushRefSpecs) remote,String pushRefSpec)
版本: 使用Visual Studio 2015获得0.24.0.0
代码1)
CredentialsHandler newt =
new CredentialsHandler((url, fromUrl, types) =>
new UsernamePasswordCredentials { Username = userName, Password = userPass });
var options = new PushOptions();
options.CredentialsProvider = newt;
options.OnPackBuilderProgress = packBuilderProgressHandler;
options.OnPushTransferProgress = pushTransferProgressHandler;
options.OnPushStatusError = pushStatusErrorHandler;
repo.Network.Push(
repo.Network.Remotes["origin"],
@"refs/heads/master:refs/heads/master",
options);
代码2)
repo.Network.Push(remote, pushRefSpec);