Powershell批量删除Git中无人维护的Branch
来源:互联网 发布:研究方向数据图像处理 编辑:程序博客网 时间:2024/04/27 12:28
Powershell批量删除Git中无人维护的Branch
有这个需求 思路是
1. 批量获取所有分支
2. 取得该分支最后一次提交的时间
3. 比较最后一次提交时间与定义的无人维护时间的阈值,是否满足删除条件
4. 满足筛选条件的分支进行删除
批量获取所有分支
尝试输入以下命令
git branch –remote
返回如下分支名称
origin/dev_chdoil origin/dev_chdqqqqq origin/dev_cl_3u origin/dev_clover
至此第一步完成
取得该分支最后一次提交的时间
隐约记得git log有查看提交时间的功能
通过谷歌最后确定命令如下
git log -1 分支名 –pretty=format:”%cD”
比较时间戳是否无人维护
StackFlow上大神给出String转DateTime方法
[datetime]::Parse((git log -1 $_.trim() –pretty=format:”%cD”)) -lt “2017-01-01”
删除远程分支
https://github.com/Jisuanke/tech-exp/issues/6
参考Github上文章 这个文章是删除本地的分支
https://segmentfault.com/q/1010000008841093
阅读以上文章给出命令
git push origin –delete 分支名
最后用管道串起来
git branch --remote|Where-Object{!$_.contains("master")}|Where-Object{[datetime]::Parse((git log -1 $_.trim() --pretty=format:"%cD")) -lt "2017-01-01"}|ForEach-Object{git push origin --delete ($_.Replace("origin/","")).trim()}
本地分支删除代码
git branch|Where-Object{!$_.contains("master") -and !$_.contains("*")}|Where-Object{[datetime]::Parse((git log -1 $_.trim() --pretty=format:"%cD")) -lt "2017-05-01"}|ForEach-Object{git branch -D $_.trim()}
搜索引擎是个好东西
阅读全文
1 0
- Powershell批量删除Git中无人维护的Branch
- 删除git branch -a 中不存在的远程分支
- Git如何恢复已经删除的branch
- git branch -d 删除一个branch
- git中checkout前后的branch变化
- 在Eclipse中维护SVN 的 Tag , Branch
- 在Eclipse中维护SVN 的 Tag , Branch
- git 删除 remote branch索引
- git删除tag和branch
- git branch -D 大写的D 删除分支
- Git branch的分析
- Git branch的分析
- git branch的使用
- git入门(6)-Git checkout 和git branch分支的创建和删除
- git branch -m/M 重名分支,-D 删除branch
- git中branch与tag
- git中branch与tag
- git批量删除文件的方法
- chrome调试压缩后的代码
- C++ Stl vector
- FCC--Convert HTML Entities(转化HTML实体)
- android imageview中设置图片变灰
- opencv抠图
- Powershell批量删除Git中无人维护的Branch
- 第十四周(subsets,NP问题)
- centos7防火墙开放端口等命令
- 打包提示 xxx is not translated in "zh" (Chinese)
- USB设备驱动及测试1
- 在CentOS7下从0开始搭建docker并发布tomcat项目
- Objective-C语法之代码块(block)的使用
- android 资源 记录
- translate.proposedLanguage()||translate.use(); 获取当前语言