在 Git 中,为了方便起见,我想添加一些全局别名。
命令
git config --global alias.unstage 'reset HEAD --'
如文档中所述,工作正常。所以我尝试使用相同的语法,!
在命令前面加上一个前缀,来运行外部的、更复杂的脚本:
# release-major
latest=$(git describe --abbrev=0 --tags 2>/dev/null); latest=${latest:-v0.0.0}; components=(${latest//./ }); major=${components[0]}; major=${major//v/}; minor=${components[1]}; patch=${components[2]}; major=$((major+1)); minor=0; patch=0; next='v'$major'.'$minor'.'$patch; git tag -a $next -m ""
# release-minor
latest=$(git describe --abbrev=0 --tags 2>/dev/null); latest=${latest:-v0.0.0}; components=(${latest//./ }); major=${components[0]}; major=${major//v/}; minor=${components[1]}; patch=${components[2]}; minor=$((minor+1)); patch=0; next='v'$major'.'$minor'.'$patch; git tag -a $next -m ""
# release-patch
latest=$(git describe --abbrev=0 --tags 2>/dev/null); latest=${latest:-v0.0.0}; components=(${latest//./ }); major=${components[0]}; major=${major//v/}; minor=${components[1]}; patch=${components[2]}; patch=$((patch+1)); next='v'$major'.'$minor'.'$patch; git tag -a $next -m ""
如果我尝试使用语法添加这三个脚本
git config --global alias.my-alias-name '!my-alias-code'
但是,它不起作用。结果始终是解析器错误。
我尝试了我能想象到的所有引用、取消引用、单引号和双引号的变体。我什至尝试直接将这些添加到.gitconfig
文件中。这些都不起作用。
我错过了什么?如何修复这些脚本以便我可以将它们添加为别名?