我正在编写一个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
有关如何解决此问题的任何建议都将受到高度赞赏。
答案 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\"")