「代码管理」gitpython实现自动化提交代码至gitlab或github

脚本功能:

本地电脑从远程(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 条评论) “”
   
验证码:

相关文章

推荐文章