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
048455cc
Unverified
Commit
048455cc
authored
Oct 25, 2023
by
Marc Cornellà
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(git-commit): fix revert alias conflict (#12007)
Fixes #12007
parent
5c22c581
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
24 additions
and
14 deletions
+24
-14
README.md
plugins/git-commit/README.md
+10
-4
git-commit.plugin.zsh
plugins/git-commit/git-commit.plugin.zsh
+14
-10
No files found.
plugins/git-commit/README.md
View file @
048455cc
...
...
@@ -10,7 +10,7 @@ plugins=(... git-commit)
## Syntax
```
zsh
rc
```
zsh
git <
type
>
[(
-s
,
--scope
)
"<scope>"
]
"<message>"
```
...
...
@@ -26,11 +26,17 @@ Where `type` is one of the following:
-
`fix`
-
`perf`
-
`refactor`
-
`rev
ert
`
-
`rev`
-
`style`
-
`test`
> NOTE: the alias for `revert` type is `rev`, as otherwise it conflicts with the git command of the same name.
> It will still generate a commit message in the format `revert: <message>`
## Examples
`git style "remove trailing whitespace"`
->
`git commit -m "style: remove trailing whitespace"`
`git fix -s "router" "correct redirect link"`
->
`git commit -m "fix(router): correct redirect link"`
| Git alias | Command |
| --------------------------------------------- | ---------------------------------------------------- |
|
`git style "remove trailing whitespace"`
|
`git commit -m "style: remove trailing whitespace"`
|
|
`git fix -s "router" "correct redirect link"`
|
`git commit -m "fix(router): correct redirect link"`
|
|
`git rev -s "api" "rollback v2"`
|
`git commit -m "revert(api): rollback v2"`
|
plugins/git-commit/git-commit.plugin.zsh
View file @
048455cc
function
_git_commit_register
{
if
!
git config
--global
--get-all
alias.
$1
>
/dev/null 2>&1
;
then
git config
--global
alias.
$1
'!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "'
$1
'(${scope}): ${@}"; else git commit -m "'
$1
': ${@}"; fi }; a'
fi
}
local
-a
_git_commit_aliases
_git_commit_aliases
=(
'build'
...
...
@@ -19,9 +13,19 @@ _git_commit_aliases=(
'test'
)
for
_alias
in
"
${
_git_commit_aliases
[@]
}
"
;
do
_git_commit_register
$_alias
local alias type
for
type
in
"
${
_git_commit_aliases
[@]
}
"
;
do
# an alias can't be named "revert" because the git command takes precedence
# https://stackoverflow.com/a/3538791
case
"
$type
"
in
revert
)
alias
=
rev
;;
*
)
alias
=
$type
;;
esac
local
func
=
'!a() { if [ "$1" = "-s" ] || [ "$1" = "--scope" ]; then local scope="$2"; shift 2; git commit -m "'
$type
'(${scope}): ${@}"; else git commit -m "'
$type
': ${@}"; fi }; a'
if
!
git config
--global
--get-all
alias.
${
alias
}
>
/dev/null 2>&1
;
then
git config
--global
alias.
${
alias
}
"
$func
"
fi
done
unfunction _git_commit_register
unset
_alias
unset
_git_commit_aliases
alias type
func
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