python 删除git Jenkinsfile文件
背景:在做ci集成的发现分支超过100个之后,pipline activity列表中前期的分支会被隐藏,这导致master分支在活动视图中不可见
解决方案:删除历史分支的Jenkinsfile
分支太多了,写了个脚本处理,具体如下
from git import Repo
import os
import time # vi .git/config
# lb = !"for k in `git branch -r|perl -pe s/^..//`;do echo `git show --pretty=format:\"%Cgreen%ci %Cblue%cr%Creset\" $k|head -n 1`\\\t$k;done|sort"
'''通过git for-each-ref --sort=-committerdate命令获得需要删除文件的分支名,按提交时间倒叙'''
x = """
origin/test1
origin/test2
origin/test3
"""
# 获得需要删除Jenkinsfile的分支列表
list_branch = [_.split("origin/")[1].strip() for _ in x.split("\n") if _]
# 源代码存放的本地路径
cdir = "/Users/test/Documents/code/test"
repo = Repo(cdir)
remote = repo.remote()
gt = remote.repo.git
list_branch_err = []
for branch in list_branch:
# 切换分支
gt.checkout(branch)
print(repo.active_branch)
index = repo.index
try:
# 如果分支上存在Jenkinsfile则删除并提交git
if "Jenkinsfile" in os.listdir(cdir):
index.remove(['Jenkinsfile'])
index.commit('remove Jenkinsfile')
remote.push()
# 本地的源文件可能并没有删除,删除本地Jenkinsfile源文件
if "Jenkinsfile" in os.listdir(cdir):
os.remove(cdir+"/Jenkinsfile")
except Exception as e:
list_branch_err.append(branch)
print("failed to remove jenkins file on these branches", list_branch_err)
python 删除git Jenkinsfile文件的更多相关文章
- 删除Git服务器文件但是保留本地文件
参考: https://blog.csdn.net/u012804886/article/details/83059315 https://www.cnblogs.com/wfsovereign/p/ ...
- 【转】 python 删除非空文件夹
转自:https://blog.csdn.net/xiaodongxiexie/article/details/77155864 一般删除文件时使用os库,然后利用os.remove(path)即可完 ...
- python 删除非空文件夹
import os import shutil os.remove(path) #删除文件 os.removedirs(path) #删除空文件夹 shutil.rmtree(path) #递归删除文 ...
- python删除某一文件夹下的重复文件
#2022-10-28 import hashlib import os import time def getmd5(filename): """ 获取文件 md5 码 ...
- Python 删除含有只读文件(夹)的文件夹
def rm_read_only(fn, tmp, info): if os.path.isfile(tmp): os.chmod(tmp, stat.S_IWRITE) os.remove(tmp) ...
- git 恢复工作区删除的所有文件
/********************************************************************* * git 恢复工作区删除的所有文件 * 说明: * 今天 ...
- git忽略文件并删除git仓库中的文件
问题描述 不慎在创建.gitignore 文件之前的时候将文件push到了 git仓库,即使之后在.gitignore文件中写入新的过滤规则,这些规则也不会起作用的,git依然会对所有git仓库中的 ...
- 如何删除错误提交的 git 大文件
早上小伙伴告诉我,他无法拉下代码,我没有在意.在我开始写代码的时候,发现我的 C 盘炸了.因为我的磁盘是苏菲只有 256G 放了代码就没空间了,于是我查找到了原来是我的代码占用了居然有 2000+M ...
- 用Python删除本地目录下某一时间点之前创建的所有文件
因为工作原因,需要定期清理某个文件夹下面创建时间超过1年的所有文件,所以今天集中学习了一下Python对于本地文件及文件夹的操作.网上 这篇文章 简明扼要地整理出最常见的os方法,抄袭如下: os.l ...
随机推荐
- Gin框架之参数绑定
为了能够更方便的获取请求相关参数,提高开发效率,我们可以基于请求的Content-Type识别请求数据类型并利用反射机制自动提取请求中QueryString.form表单.JSON.XML等参数到结构 ...
- 清北学堂—2020.1提高储备营—Day 3(图论初步(一))
qbxt Day 3 --2020.1.19 济南 主讲:李奥 目录一览 1.图论(图.图的存储方式.最小生成树的定义) 总知识点:图论 前言:众所周知,图论是一个非常重要的部分,而这次集训也可以算从 ...
- 牛客网剑指offer第19题——顺时针打印矩阵
这个题看似很简单: 题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 ...
- C# WPF 时钟动画(1/2)
微信公众号:Dotnet9,网站:Dotnet9,问题或建议:请网站留言, 如果对您有所帮助:欢迎赞赏. C# WPF 时钟动画(1/2) 内容目录 实现效果 业务场景 编码实现 本文参考 源码下载 ...
- ios输入法弹出输入框定位错乱
弹出输入框会使视口高度发生变化,弹出输入框后动态匹配这个高度 以下是使用jq的方法 $('input').on('blur', function () { setTimeout(function () ...
- 亚马逊云推出基于机器学习的企业搜索服务Kendra,剑指微软
近日,在AWS re:Invent全球大会上,亚马逊发布了五项新的基于机器学习的人工智能 (AI) 服务. 这五项服务包括机器学习驱动的企业搜索.代码审核与分析.欺诈检测.医疗转录和 AI 预测的人工 ...
- PAT (Basic Level) Practice (中文)1038 统计同成绩学生 (20 分)
本题要求读入 N 名学生的成绩,将获得某一给定分数的学生人数输出. 输入格式: 输入在第 1 行给出不超过 1 的正整数 N,即学生总人数.随后一行给出 N 名学生的百分制整数成绩,中间以空格分隔.最 ...
- HDU - 5532 Almost Sorted Array (最长非严格单调子序列)
We are all familiar with sorting algorithms: quick sort, merge sort, heap sort, insertion sort, sele ...
- Qt多线程实现思路二
建立一个继承于Qobject的类myThread 在类myThread中定义线程处理函数不必是思路一里的run(); 在窗口类中开辟一个自定义线程myThread的指针对象myT = new myTh ...
- WebGL_0001:3D页面的重置分辨率和横竖屏事件
1,事件 重置分辩率事件 window.addEventListener("resize", a, !1) 横竖屏切换事件 window.addEventListener(&quo ...