无法使用 LibGit2Sharp 将本地目录推送到 GitHub
Unable to push a local directory to GitHub using LibGit2Sharp
我需要将本地文件夹推送到 Git 存储库。以下是我到目前为止所做的尝试:
public static async Task CommitAllChanges(string message,string filePath, string cloneUrl)
{
try
{
var _folder = new DirectoryInfo(filePath);
string path = LibGit2Sharp.Repository.Init(_folder.FullName);
using (var repo = new LibGit2Sharp.Repository(path))
{
var files = _folder.GetFiles("*", SearchOption.AllDirectories).Select(f => f.FullName);
Commands.Stage(repo, "*");
repo.Commit(message, new LibGit2Sharp.Signature("sormita", "sormita@gmail.com", DateTimeOffset.Now),
new LibGit2Sharp.Signature("sormita", "sormita@gmail.com", DateTimeOffset.Now));
//push files
string name = "origin";
repo.Network.Remotes.Add(name, cloneUrl);
var remote = repo.Network.Remotes.FirstOrDefault(r => r.Name == name);
var options = new PushOptions
{
CredentialsProvider = (_url, _user, _cred) =>
new UsernamePasswordCredentials { Username = "email", Password = "password" }
};
string pushRefSpec = @"refs/heads/master";
repo.Network.Push(remote, pushRefSpec, options);
}
}
catch (Exception ex)
{
throw ex;
}
}
我可以推送,但 GitHub 的存储库中未显示任何文件。
以上代码将成功将目录推送到 Github 存储库。
How can I use GitHub PAT token for this Push?
将其设置为凭证提供程序的密码。 PAT 是密码。
如果您在问题中使用了实际密码,请立即更改。
请参阅我的问题代码详细信息,了解如何将本地目录推送到 GitHub 存储库的完整实现。
我需要将本地文件夹推送到 Git 存储库。以下是我到目前为止所做的尝试:
public static async Task CommitAllChanges(string message,string filePath, string cloneUrl)
{
try
{
var _folder = new DirectoryInfo(filePath);
string path = LibGit2Sharp.Repository.Init(_folder.FullName);
using (var repo = new LibGit2Sharp.Repository(path))
{
var files = _folder.GetFiles("*", SearchOption.AllDirectories).Select(f => f.FullName);
Commands.Stage(repo, "*");
repo.Commit(message, new LibGit2Sharp.Signature("sormita", "sormita@gmail.com", DateTimeOffset.Now),
new LibGit2Sharp.Signature("sormita", "sormita@gmail.com", DateTimeOffset.Now));
//push files
string name = "origin";
repo.Network.Remotes.Add(name, cloneUrl);
var remote = repo.Network.Remotes.FirstOrDefault(r => r.Name == name);
var options = new PushOptions
{
CredentialsProvider = (_url, _user, _cred) =>
new UsernamePasswordCredentials { Username = "email", Password = "password" }
};
string pushRefSpec = @"refs/heads/master";
repo.Network.Push(remote, pushRefSpec, options);
}
}
catch (Exception ex)
{
throw ex;
}
}
我可以推送,但 GitHub 的存储库中未显示任何文件。
以上代码将成功将目录推送到 Github 存储库。
How can I use GitHub PAT token for this Push?
将其设置为凭证提供程序的密码。 PAT 是密码。
如果您在问题中使用了实际密码,请立即更改。
请参阅我的问题代码详细信息,了解如何将本地目录推送到 GitHub 存储库的完整实现。