Я хочу вытащить файлы из папки в Azure App Service в репозиторий Git.
Я скопировал локальный git repo на сервер, и я использую LibGit2Sharp для фиксации и нажатия этих файлов:
using (var repo = new Repository(@"D:\home\site\wwwroot\repo"))
{
// Stage the file
Commands.Stage(repo, "*");
// Create the committer signature and commit
Signature author = new Signature("translator", "example.com", DateTime.Now);
Signature committer = author;
// Commit to the repository
Commit commit = repo.Commit($"Files updated {DateTime.Now}", author, committer);
Remote remote = repo.Network.Remotes["origin"];
var options = new PushOptions
{
CredentialsProvider = (_url, _user, _cred) =>
new UsernamePasswordCredentials
{
Username = _settings.UserName,
Password = _settings.Password
}
};
repo.Network.Push(remote, @"+refs/heads/master", options);
}
Он работает, но, похоже, занимает некоторое время, и это кажется немного неуклюжим. Есть ли более эффективный способ достичь этого с помощью кода или, возможно, напрямую через Azure (config или Azure Functions)?