Ruby实现的删除已经合并的git分支脚本分享
2015-01-16 10:20
1281 查看
使用Git管理代码工程,着实方便了很多,但是当做完feature分支或者完成hotfix之后,总是忘记删除这些无用的分支,一个一个地删除着实麻烦,重复手工劳动不符合程序员的风格,于是写了一个简单的脚本。一键删除那些不需要的分支,让多余的干扰信息离开视线。
删除哪些分支?
删除的为Merge(合并)操作的源分支。如果工程正在处于分支A(HEAD为A分支),分支B已经合并到了分支A,即A分支包含了B分支的内容,则会删除B分支。
代码
复制代码 代码如下:#!/usr/bin/env ruby
# encoding: utf-8
exceptBranches = ['master', 'pre', 'develop']
for branch in `cd #{ARGV[0]} && git branch -l`.split(' ') - ['*']
next if exceptBranches.include? branch
system("git branch -d #{branch}")
end
使用方法
复制代码 代码如下:ruby removeMergedBranches.rb your_git_project
执行结果
执行结果类似如下,注意如果没有进行合并,则会提示警告或者错误,这些可以忽略。
复制代码 代码如下:warning: deleting branch 'custom' that has been merged to
'refs/remotes/origin/custom', but not yet merged to HEAD.
Deleted branch custom (was b63ab7d).
Deleted branch hotfix (was 340cca0).
Deleted branch mgit (was 86b4004).
error: The branch 'develop_rtl' is not fully merged.
If you are sure you want to delete it, run 'git branch -D develop_rtl'.
您可能感兴趣的文章:
相关文章推荐
- Ruby实现的一个强大的批量删除文件脚本分享
- git 下 分支创建 合并 删除 相关操作
- Git 分支 - 分支的新建与合并 分支的新建与合并 让我们来看一个简单的分支新建与分支合并的例子,实际工作中你可能会用到类似的工作流。 你将经历如下步骤: 开发某个网站。 为实现某个新的需求,创
- git 分支整合并删除分支
- git本地已经有了mater分支如何获取develop分支的源代码(不做合并操作,只拉代码)
- git分支创建分支删除分支合并
- 学习GitHub(三): git分支的创建、合并和删除
- Git:分支的创建、合并、管理和删除
- git分支合并脚本
- Git带你回到过去和未来【5】#合并、删除分支
- 关于Git合并分支并删除分支后的恢复
- 2016/01/13开始学习git:分支管理:创建、合并、删除分支
- git 删除本地追踪远程仓库但远程仓库已经不存在的分支
- git技巧:删除在本地有但在远程库中已经不存在的分支
- 学习GitHub(三): git分支的创建、合并和删除
- git remote prune origin删除本地有但在远程库已经不存在的分支
- git 查看、创建、切换、合并、删除分支
- GIT 分支的合并 与 分支删除 (merge与delete)
- git 本地分支与远程分支 新建-删除-合并