我需要将本地文件夹推送到 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 仓库。
答案 0 :(得分:0)
如何使用 GitHub PAT 令牌进行此推送?
将其设置为凭据提供程序的密码。 PAT 是密码。
如果您在问题中使用了实际密码,请立即更改。
答案 1 :(得分:0)
关于如何将本地目录推送到 GitHub 存储库的完整实现,请参阅我的问题代码详细信息。