简体   繁体   English

如何使用LibGit2Sharp从Git获取更改?

[英]How to fetch change from Git using LibGit2Sharp?

The code below clone a Git url to a test directory. 下面的代码将Git url克隆到测试目录。

var url = @"http://abc-555.com/team/project-555.git";
var path = @"E:\temp_555";

var credential =  new Credentials() { Username = "a8888", Password="88888888"};
var clonePath = Repository.Clone(url, path, credentials: credential);

using (var repo = new Repository(clonePath))
{
    foreach (var branch in repo.Branches)
    {
        Console.WriteLine(branch.Name);
    }

    // somebody creates a new branch here, so I want to fetch it.
    repo.Fetch("origin");

    foreach (var branch in repo.Branches)
    {
        Console.WriteLine(branch.Name);
    }
}

I want to fetch a new branch before merging it to local Git. 我想在将它合并到本地Git之前获取一个新分支。 Anyway, it throws An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401 无论如何,它抛出An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401引发An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401 An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401 An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401 exception. An error was raised by libgit2. Category = Net (Error). Request failed with status code: 401异常。

How to fix this? 如何解决这个问题?

您可以指定要通过FetchOptions实例使用的凭据作为Fetch调用的最后一个参数。

repo.Fetch("origin", new FetchOptions { Credentials = credential});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM