Python脚本中使用Git上传代码

680 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第16天 点击查看活动详情

前言

还是依旧回顾一下之前的代码,前面连续三篇都分别对腾讯云自建API的调用和七牛云接口分析,完成了证书的申请,DNS解析和证书下载,今天老看看在Python脚本中如何使用Git把代码上传到Git仓库。

新建仓库

我自己就直接在GitHub上新建一个私有仓库

image.png

然后把新建一个文件夹cert把证书的文件夹放在里面,目录如下,准备把整个目录上传到GitHub仓库上:

image.png
手动把文件上传到GitHub就不多说了,新建仓库后Git有文档指引,下面仔细讲下如何在Python脚本中操作Git

脚本提交代码

需要使用git这个包,此时当前的文件夹已经关联到了远程仓库,需要设定Git的目录然后执行一系列Git命令。

from git import Git
git_path = 'D:/DockerFile/tmp/*****'
r = Git(git_path) #注意修改到固定的位置 
r.execute('git checkout main') # 为了保险起见切换一下与远程分支一样的分支
print(r.execute('git status'))  # 打印当前代码的改动
r.execute('git add .')  #提交所有的改动
r.commit('-m 证书自动化脚本添加')
r.execute('git pull')  # 拉取远程变动
r.execute('git push')  # 一般不不会产生冲突,直接推送,这里需要注意第一次推送Git的时候使用`git push -u origin main` 使用默认远程分支推送代码,后面推送就不用指明远程仓库的分支了。

总结

这里需要注意的是电脑上需要事先安装上Git的客户端并且需要初始化Git仓库并且与远程仓库链接,并且达到可以使用代码简单推送的状态。上面的脚本中使用Git命令非常简单常用的命令,看起来像执行shell命令,但是使用这个git包可以使用更多的功能,今后再用到的时候再深入研究,今天就到此为止,后面用到了这些再把自动申请证书做成整个自动申请脚本,先埋个坑。