我正在编写一个Python脚本,该脚本使用GitPython(https://gitpython.readthedocs.io/en/stable/)将本地文件提交到远程存储库。对文件进行编辑后,我设置了用户名和电子邮件的值,如以下代码片段所示:

      repo = git.Repo.init("my local clone path")
      repo.config_writer().set_value("name", "email", "myusername").release()
      repo.config_writer().set_value("name", "email", "myemail").release()
      repo.git.add("filename")
      repo.git.commit("filename")
      repo.git.push("my remote repo url")

我总是遇到以下错误:
 stderr: '
*** Please tell me who you are.

Run

  git config --global user.email "[email protected]"
  git config --global user.name "Your Name"

to set your account's default identity.
Omit --global to set the identity only in this repository.

即使我已经使用config_writer()函数设置了用户名和密码,如下所示:http://gitpython.readthedocs.io/en/stable/tutorial.html#handling-remotes

任何有关如何解决此问题的建议将不胜感激。

最佳答案

此处的set_value目标不正确。

repo.config_writer().set_value("name", "email", "myusername").release()
repo.config_writer().set_value("name", "email", "myemail").release()

这些行必须如下所示:
repo.config_writer().set_value("user", "name", "myusername").release()
repo.config_writer().set_value("user", "email", "myemail").release()

09-04 15:22