网站首页 > 精选文章 正文
脚本功能:
本地电脑从远程(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 ("无代码更新\n")
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)
执行:

测试结果:

猜你喜欢
- 2024-12-17 开放网络环境下,SVN/GIT代码服务器安全共享思路
- 2024-12-17 Git提交代码时忽略不必要的文件或文件夹
- 2024-12-17 终极Git指南:轻松掌握快速提交、分支管理与代码保护技巧!
- 2024-12-17 使用 Git 时,如何巧妙地避免冲突(merge conflict)?
- 2024-12-17 git pull 之后本地代码被覆盖 解决方案
- 2024-12-17 Git 网络加速、提高代码拉取速度
- 2024-12-17 git拉代码每次都要输入账号密码?
- 2024-12-17 Git安全性:如何确保代码安全性
- 2024-12-17 git提交被拒绝 non-fast-forward 与 pull 强制覆盖本地的代码
- 2024-12-17 零基础走向“人工智能与数据分析”系列:数据与代码保存Git
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)