我创建了一个应用程序,它将文件签入Git以测量其性能。它可以在我的机器上找到。
private void Commit()
{
using (var repo = new Repository(GIT_PATH))
{
repo.Index.Stage(GIT_PATH);
var commitMessage = string.Format(CultureInfo.InvariantCulture, Resources.GitCommittingMessage, DateTime.Now);
var author = new Signature(this.credentials.Username, "", DateTime.Now);
repo.Commit(commitMessage, author);
}
}
在其他计算机上运行时抛出错误。异常消息是:
Can not find Name or Email setting of the current user in Git configuration.
收到消息后,我检查了是否设置了git config --global user.name。我通过运行git config --global user.name
进行了检查,并打印出用户名。
我在这里做错了什么?如何解决?
更新 下面是工作代码,只是添加了提交者并使用像the accepted answer这样的重载方法。
var commitMessage = string.Format(CultureInfo.InvariantCulture, Resources.GitCommittingMessage, DateTime.Now);
var author = new Signature(this.credentials.Username, "", DateTime.Now);
var committer = new Signature(this.credentials.Username, "", DateTime.Now);
repo.Commit(commitMessage, author, committer);
答案 0 :(得分:2)