天天看点

实现自动git push的python脚本

前言

gitpython

code on python shell

关于gitpython的更多详细内容

os

实现免密登录的方法

配置ssh-key

.gitconfig设置记住密码

关于作者

我想用python脚本实现自动push,首先我有一个完整的code但是我想每天都运行一次,并将运行之后项目的改变进行 push 更新。

解决思路:

模拟 git add/commit -m/push 的过程

解决免密push的问题

整合需求编写代码

开始介绍前,先设置好自己的账号和邮箱(做好准备)

gitpython是git版本控制库的python版本,可以通过它实现git的任何操作,十分方便

安装

调用 | 例子

在项目根目录下创建这个文件

实现自动git push的python脚本

通过git status 也可以观察到,我们添加了test文件,现在我就用python shell实现git push

实现自动git push的python脚本

ps: 需要注意的是,如果没有设置免密,是会弹出登录页面的(就和命令行操作一样),但是在code中没办法输入账号密码啊,所以需要设置免密。

输入账号密码之后,查看代码库提交记录

实现自动git push的python脚本

提交成功!!!

官网手册

os库可以称为万能库,因为git add/commit -m/push 一般都是在命令行中完成的

只要引用os.system(’’) 即可实现需求

只要通过os.system(’’)调用命令即可。下面就通过os库删除test文件并提交push

实现自动git push的python脚本

生成key

复制rsa.pub(public key 公钥)的内容

将public key添加到github上

参考资料:

javascript:void(0)

https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh

https://www.jianshu.com/p/28efda0555bb

执行命令,配置 user.name 和 user.email

配置免密登入信息

我配置的是第二个,查看~/.gitconfig 的内容为

win的.gitconfig位置在 c:<balabala>\administrator\下

push一次,配置后的第一次push需要登入,之后就会记住密码实现免密push

取消免密登录

实现自动git push的python脚本