实现自动git push的python脚本

前言

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

  1. 模拟 git add/commit -m/push 的过程
  2. 解决免密push的问题
  3. 整合需求编写代码

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

git config --global user.name <YourName>
git config --global user.email <YourEmail>

gitpython

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

安装

pip install gitpython

调用 | 例子

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

from git import Repo
import os

dirfile = os.path.abspath('') # code的文件位置,我默认将其存放在根目录下
repo = Repo(dirfile)

g = repo.git
g.add("--all")
g.commit("-m auto update")
g.push()
print("Successful push!")
Code on python shell

在这里插入图片描述
通过git status 也可以观察到,我们添加了test文件,现在我就用python shell实现git push
在这里插入图片描述
ps: 需要注意的是,如果没有设置免密,是会弹出登录页面的(就和命令行操作一样),但是在code中没办法输入账号密码啊,所以需要设置免密。

输入账号密码之后,查看代码库提交记录
在这里插入图片描述
提交成功!!!

关于gitpython的更多详细内容

官网手册

os

os库可以称为万能库,因为git add/commit -m/push 一般都是在命令行中完成的
只要引用os.system(’’) 即可实现需求

Code on python shell

只要通过os.system(’’)调用命令即可。下面就通过os库删除test文件并提交push
在这里插入图片描述

实现免密登录的方法

配置SSH-key
  1. 生成key
ssh-keygen -t rsa -C "github账号的邮箱"
  1. 复制rsa.pub(public key 公钥)的内容
  2. 将public key添加到github上

参考资料:

https://blog.csdn.net/SJ1551/article/details/100745846
https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh
https://www.jianshu.com/p/28efda0555bb

.gitconfig设置记住密码
  1. 执行命令,配置 user.name 和 user.email
git config --global user.name <YourName>
git config --global user.email <YourEmail>
  1. 配置免密登入信息
# 写入缓存,实现暂时记住账号密码(15分钟)
git config --global credential.helper cache

# 写入磁盘, 永久记住密码
git config --global credential.helper store

我配置的是第二个,查看~/.gitconfig 的内容为
Win的.gitconfig位置在 C:<balabala>\Administrator\下

[user]
    name = <YourName>
    email = <YourEmail>

[credential]
    helper = store
  1. push一次,配置后的第一次push需要登入,之后就会记住密码实现免密push
  2. 取消免密登录
sudo git config --system --unset credential.helper

关于作者

联系方式 MTI5MDAxNzU1NkBxcS5jb20=

你也可以通过 github | csdn | @新浪微博 关注我的动态

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
实用自动化运维Python脚本分享主要是为了提高运维工作的效率和准确性,简化重复性的操作,节省人力和时间成本。Python作为一种强大的脚本语言,具有易学易用、丰富的库和模块支持等优点,非常适合用于运维自动化。 首先,实用自动化运维Python脚本可以对服务器进行批量管理和监控。脚本可以通过SSH远程连接服务器,执行各种操作,如批量安装软件、配置服务器、部署应用等。同时,可以编写脚本监控服务器的性能指标,如CPU、内存、磁盘等,及时发现问题并进行处理。 其次,实用自动化运维Python脚本可以进行日志分析和故障排查。通过解析服务器和应用程序的日志文件,可以自动化地检测错误信息,分析日志文件的结构和内容,帮助快速定位问题的根本原因。这在大规模分布式系统中尤为重要,可以快速捕捉异常和故障,提高故障处理的效率。 另外,实用自动化运维Python脚本还可以进行配置管理和版本控制。通过脚本,可以自动备份和还原配置文件,实现配置的快速恢复和管理。同时,可以使用版本控制工具(如Git)来管理配置文件的变更,确保对服务器环境的改动有记录可查。 最后,实用自动化运维Python脚本可以进行应用部署和上线。通过编写脚本,可以自动化地将应用程序打包、上传、解压、配置等一系列操作,实现一键部署。还可以结合CI/CD工具实现自动化的持续集成和持续部署,提高开发和运维之间的协作效率。 总结来说,实用自动化运维Python脚本可以帮助运维人员简化工作流程,减少重复劳动,提高效率和准确性。同时,Python的简洁性和灵活性也使得运维人员可以根据实际需求编写出适合自己环境的自动脚本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

99Kies

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值