GitPython无法设置git配置用户名和电子邮件

时间:2018-04-30 16:23:03

标签: python git git-push gitpython

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

      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 "you@example.com"
  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

有关如何解决此问题的任何建议都将受到高度赞赏。

2 个答案:

答案 0 :(得分:5)

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()

答案 1 :(得分:1)

使用此

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

我遇到了以下错误

“ config_writer()缺少1个必需的位置参数:'self'。”

我使用

解决了它
os.system("git config --global user.name \"firstname lastname\"")
os.system("git config --global user.email \"youremail@email.com\"")