Skip to content
David Robinson edited this page Mar 22, 2020 · 8 revisions

git-push

Pushes updates to a remote using Authentication

Git

$ git push

LibGit2Sharp

using (var repo = new Repository("path/to/your/repo"))
{
    LibGit2Sharp.PushOptions options = new LibGit2Sharp.PushOptions();
    options.CredentialsProvider = new CredentialsHandler(
        (url, usernameFromUrl, types) =>
            new UsernamePasswordCredentials()
            {
                Username = USERNAME,
                Password = PASSWORD
            });
    repo.Network.Push(repo.Branches[BRANCHNAME], options);
}

Another variant, using Remote to push to the origin:

using (var repo = new Repository("path/to/your/repo"))
{
	Remote remote = repo.Network.Remotes["origin"];
	var options = new PushOptions();
	options.CredentialsProvider = (_url, _user, _cred) => 
		new UsernamePasswordCredentials { Username = "USERNAME", Password = "PASSWORD" };
	repo.Network.Push(remote, @"refs/heads/master", options);
}