Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
c99f3c50
Commit
c99f3c50
authored
Jul 15, 2020
by
Marc Cornellà
Browse files
git: go back to previous main branch detection logic
Fixes #9114
parent
ff7618cf
Changes
2
Hide whitespace changes
Inline
Side-by-side
plugins/git/README.md
View file @
c99f3c50
...
...
@@ -183,8 +183,8 @@ plugins=(... git)
Following the recent push for removing racially-charged words from our technical vocabulary, the git plugin favors using
a branch name other than
`master`
. In this case, we favor the shorter, neutral and descriptive term
`main`
. This means
that any aliases and functions that previously used
`master`
, will use
`main`
if
`master`
doesn't
exist. We do this via
the
function
`git_main_branch`
.
that any aliases and functions that previously used
`master`
, will use
`main`
if
that branch
exist
s
. We do this via
the
function
`git_main_branch`
.
### Deprecated aliases
...
...
@@ -208,13 +208,13 @@ These are aliases that have been removed, renamed, or otherwise modified in a wa
### Current
| Command | Description
|
|:-----------------------|:-----------------------------------------------------------------------------
----------
|
|
`grename <old> <new>`
| Rename
`old`
branch to
`new`
, including in origin remote
|
| current_branch | Return the name of the current branch
|
| git_current_user_name | Returns the
`user.name`
config value
|
| git_current_user_email | Returns the
`user.email`
config value
|
| git_main_branch | Returns the name of the main branch:
from origin or from local branches, else 'master'
|
| Command | Description |
|:-----------------------|:-----------------------------------------------------------------------------|
|
`grename <old> <new>`
| Rename
`old`
branch to
`new`
, including in origin remote |
| current_branch | Return the name of the current branch |
| git_current_user_name | Returns the
`user.name`
config value |
| git_current_user_email | Returns the
`user.email`
config value |
| git_main_branch | Returns the name of the main branch:
`main`
if it exists,
`master`
otherwise
|
### Work in Progress (WIP)
...
...
plugins/git/git.plugin.zsh
View file @
c99f3c50
...
...
@@ -25,29 +25,13 @@ function work_in_progress() {
fi
}
#
Get the default 'main' branch: from origin, from local branches, or else just '
master
'
#
Check if main exists and use instead of
master
function
git_main_branch
()
{
# Get default branch from the origin remote
local
branch
branch
=
"
${
$(
command
git symbolic-ref refs/remotes/origin/HEAD 2>/dev/null
)
#refs/remotes/origin/
}
"
if
[[
-n
"
$branch
"
]]
;
then
echo
"
$branch
"
return
if
[[
-n
"
$(
git branch
--list
main
)
"
]]
;
then
echo
main
else
echo
master
fi
# Look up list of local branches and return the first one that exists
local
-a
branches
branches
=(
${
(@f)
"
$(
command
git
for
-each-ref
--format
=
'%(refname:short)'
refs/heads 2>/dev/null
)
"
}
)
for
branch
in
master main
;
do
if
((
${
branches
[(Ie)
$branch
]
}
))
;
then
echo
"
$branch
"
return
fi
done
echo
master
return
1
}
#
...
...
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