脚本功能:
本地电脑从远程(github和gitlab)服务器克隆代码:若本地没有代码仓库,则远程克隆至本地,如存在则执行代码提交流程:a、有代码更新打印更新点 并push至远程服务器,若没有更新代码则 提示“本次提交无任何代码变更”
代码:
import os
# pip3 install gitpython
from git.repo import Repo
from git import Git
import json
def test(clone_url,msg,git_add):
# 获取本地仓库名称
git_name = clone_url.split("/")
git_local_path = git_name[-1].split(".")[0]
print ("本地仓库名:%s"%git_local_path)
git = Git(git_local_path)
if not os.path.exists(git_local_path):
print ('克隆远程仓库代码至本地:git clone %s'%clone_url)
git.execute('git clone %s'%clone_url)
else:
print ("已存在该文件夹")
print ("当前分支:%s"%git.execute('git branch'))
result = git.execute('git status')
print ("修改点:")
print (result)
if "modified" in result:
git.execute('git pull origin master')
git.execute('git add %s'%git_add)
git.execute('git commit -m "%s"'%msg)
git.execute('git pull origin master')
git.execute('git push origin master')
else:
print ("无代码更新
")
result = git.execute('git log')
print ("提交记录:")
print (result)
if __name__ == '__main__':
clone_url = "git@github.com:970753520/mysite.git"
msg = "本次提交代码说明"
git_add = "."
test(clone_url,msg,git_add)
执行:
测试结果:
留言与评论(共有 0 条评论) “” |