Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
24b26005
Unverified
Commit
24b26005
authored
Oct 09, 2023
by
tobi1805
Committed by
GitHub
Oct 09, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(git): delete squash-merged branches in `gbda` (#11948)
parent
29b99c2c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
2 deletions
+17
-2
README.md
plugins/git/README.md
+1
-1
git.plugin.zsh
plugins/git/git.plugin.zsh
+16
-1
No files found.
plugins/git/README.md
View file @
24b26005
...
...
@@ -41,7 +41,6 @@ plugins=(... git)
|
`gba`
|
`git branch --all`
|
|
`gbd`
|
`git branch --delete`
|
|
`gbD`
|
`git branch --delete --force`
|
|
`gbda`
|
`git branch --no-color --merged \| command grep -vE "^([+*]\|\s*($(git_main_branch)\|$(git_develop_branch))\s*$)" \| command xargs git branch --delete 2>/dev/null`
|
|
`gbgd`
|
`LANG=C git branch --no-color -vv \| grep ": gone\]" \| awk '"'"'{print $1}'"'"' \| xargs git branch -d`
|
|
`gbgD`
|
`LANG=C git branch --no-color -vv \| grep ": gone\]" \| awk '"'"'{print $1}'"'"' \| xargs git branch -D`
|
|
`gbm`
|
`git branch --move`
|
...
...
@@ -251,6 +250,7 @@ receive further support.
|
`git_develop_branch`
| Returns the name of the “development” branch:
`dev`
,
`devel`
,
`development`
if they exist,
`develop`
otherwise. |
|
`git_main_branch`
| Returns the name of the main branch:
`main`
if it exists,
`master`
otherwise. |
|
`grename <old> <new>`
| Renames branch
`<old>`
to
`<new>`
, including on the origin remote. |
|
`gbda`
| Deletes all merged and squash-merged branches |
### Work in Progress (WIP)
...
...
plugins/git/git.plugin.zsh
View file @
24b26005
...
...
@@ -122,7 +122,22 @@ alias gb='git branch'
alias
gba
=
'git branch --all'
alias
gbd
=
'git branch --delete'
alias
gbD
=
'git branch --delete --force'
alias
gbda
=
'git branch --no-color --merged | command grep -vE "^([+*]|\s*($(git_main_branch)|$(git_develop_branch))\s*$)" | command xargs git branch --delete 2>/dev/null'
# Copied and modified from James Roeder (jmaroeder) under MIT License
# https://github.com/jmaroeder/plugin-git/blob/216723ef4f9e8dde399661c39c80bdf73f4076c4/functions/gbda.fish
function
gbda
()
{
git branch
--no-color
--merged
|
command grep
-vE
"^([+*]|
\s
*(
$(
git_main_branch
)
|
$(
git_develop_branch
)
)
\s
*
$)
"
|
command
xargs git branch
--delete
2>/dev/null
local
default_branch
=
$(
git_main_branch
)
git
for
-each-ref
refs/heads/
"--format=%(refname:short)"
|
\
while
read
branch
;
do
local
merge_base
=
$(
git merge-base
$default_branch
$branch
)
if
[[
'-*'
==
$(
git cherry
$default_branch
$(
git commit-tree
$(
git rev-parse
$branch
\^
{
tree
}
)
-p
$merge_base
-m
_
))
]]
;
then
git branch
-D
$branch
fi
done
}
alias
gbgd
=
'LANG=C git branch --no-color -vv | grep ": gone\]" | awk '
"'"
'{print $1}'
"'"
' | xargs git branch -d'
alias
gbgD
=
'LANG=C git branch --no-color -vv | grep ": gone\]" | awk '
"'"
'{print $1}'
"'"
' | xargs git branch -D'
alias
gbm
=
'git branch --move'
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment