使用git批量删除分支
要删除本地,首先要考虑以下三点
- 列出所有本地分支
- 搜索目标分支如:所有含有‘dev’的分支
- 将搜索出的结果传给删除函数
所以我们可以得到:
git br |grep 'dev' |xargs git br -d
本地新建了很多分支,比如
$ git branch
brabch
branch2
branch3
branch4
chucklu_zhCN
* master
其中以bra开头的分支都是临时性的分支,用完之后需要删除,使用命令逐个删除就太麻烦了
$ git branch |grep 'bran'
branch2
branch3
branch4
$ git branch |grep 'bran'|xargs git branch -d
Deleted branch branch2 (was a84d992).
Deleted branch branch3 (was 95a769c).
Deleted branch branch4 (was 9e7aecb).
$ git branch |grep 'bra'|xargs git branch -d
Deleted branch brabch (was e71cd6d).
参考资料:
Linux中的管道命令操作符 | http://www.cnblogs.com/chengmo/archive/2010/10/21/1856577.html
grep命令 http://www.cnblogs.com/peida/archive/2012/12/17/2821195.html
批量删除分支(包括本地和远端的)http://scriptogr.am/pison/post/git
Delete git branches whose name matches a certain pattern
Update: The -r
option to xargs
is a GNU addon. Unless you use xargs
from GNU findutils it might not work. You can omit it but that leads to an error if the input piped to xargs is empty.
You can use git branch --list <pattern>
and pipe it's output to xargs git branch -d
:
git branch --list 'o*' | xargs -r git branch -d
Btw, there is a minor issue with the code above. If you've currently checked out one of the branches that begins with o
the output of git branch --list 'o*'
would look like this:
* origin_master
origin_test
o_what_a_branch
Note the asterisk *
in front of the current branch name.
While you cannot delete the current branch anyway, it leads to the fact that xargs also passes *
to git branch delete
.
As I say it is just a cosmetic error, but if you want to avoid it use:
git branch --list 'o*' | sed 's/^* //' | xargs -r git branch -d
使用git批量删除分支的更多相关文章
- git批量删除分支
要删除本地,首先要考虑以下三点 列出所有本地分支 搜索目标分支如:所有含有'dev'的分支 将搜索出的结果传给删除函数 所以我们可以得到: git br |grep 'dev' |xargs git ...
- Git批量删除
Git批量删除 git的改动都需要stage过程后才能commit.当git中有大量改动时就需要能够批量操作在方便.改动分三种: modify: 有文件修改 add: 有文件增加 rm: 有文件删除 ...
- git远程删除分支但本地git branch -a仍能看到解决
git远程删除分支但本地git branch -a仍能看到解决 在gitlab页面删除分支 但是本地能可以看到 $ git branch -a br_dev br_to_delete * master ...
- git 批量删除文件夹和文件
git 批量删除文件夹和文件 硬盘删除文件后,执行$ git status 会提示你仍然需要$ git rm <文件> 此时如果是要删除大批量文件,这么一个一个命令下去不得累死人啊 ...
- git批量删除本地分支及远程分支
1.批量删除本地分支 git branch |grep 'branchName' |xargs git branch -D git branch 查看本地分支 | grep 'branchName ...
- git 创建删除分支
进入仓库目录 -- 查看本地分支 git branch -- 查看远程分支 git branch -r -- 查看远程和本地的分支 git branch -a -- 下载远程分支代码,并切换到分支 进 ...
- git批量删除文件和批量提交
1. 单个删除文件: ① 通常直接在文件管理器中把没用的文件删了,或者用rm命令删了:(可选操作,可直接执行②删除) $ rm test.txt ② 确实要从版本库中删除该文件,那就用命令git rm ...
- git 批量删除本地分支
git branch | grep 'bug' |xargs git branch -D
- git 批量删除 tag
1. master分支存在大量冗余tag aa0e24dfd920a85c39da400a404309cb6fc69dc0 refs/tags/rc_69 f36f3f21f1ce61db3974e9 ...
随机推荐
- 第三篇、CSS样式简介
<!--1.行内样式 <p style="background-color:red;font-size:20px"> --> <!--2.页内样式 & ...
- 【开发】Dialog 对话框
提示:Dialog 继承自 Panel,有大量的方法在 Panel 中已被定义,可以复用. Dialog API:http://www.jeasyui.net/plugins/181.html Pan ...
- (转).Net平台开源作业调度框架Quartz.Net
Quartz.NET介绍: Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中. ...
- 01_Java解析XML
[打印list.Map集合的工具方法] /** * 打印List集合对应的元素 */ public void printList(List<Object> list){ for(Objec ...
- Linux Terminal命令
Linux Terminal命令 1.Ctrl + a 回到命令行の「行首/head」. 2.Ctrl + e 回到命令行の「行尾/tail」, ctrl + end. 3.Ctrl + w 後向/b ...
- jquery ajax php+mysql 无刷新分页 详细实例
最近在接触jquery和ajax,当前项目也会用到分页,为了用户体验更好一些,就准备用无刷新分页,这个demo很适合新手学习查看,写的比较清晰,话不多说,直接上代码吧. 首先是html页面,index ...
- oracle11g 表或视图连接时有可能发生的问题
---------背景--------- oracle11g 有2个视图,都有一个id字段,且id字段的值相同 例如:id都有 A01 ,A02 ,A03 --------问题--------- 把2 ...
- Java小例子——穷举质数,求平方和,求质因子。
求平方和 public static void main(String[] args) throws IOException { int n; String s; BufferedReader buf ...
- Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
现在很多朋友想尝试win2008 r2来跑web服务器,跟win2003相比界面差别有点大,有些人可能不太习惯,不过以后是趋势啊,这里简单分享下,方便需要的朋友 准备篇 一.环境说明: 操作系统:Wi ...
- Open CASCADE 基础类(Foundation Classes)
1 介绍(Introduction) 1 如何使用Open CASCADE技术(OCCT)基础类. This manual explains how to use Open CASCADE Techn ...