我想为 git log 创建一个特殊的别名,这样当我使用它时,它会使用自定义的漂亮格式--graph并进行标记。--pretty
我知道我可以使用 git 别名,但是,我不想这样做,因为我想让它动态化,这样它也可以接受额外的参数/标志。另外,我想了解 bash 中的包装是如何工作的,所以我想尝试一下。
这就是我想要它做的事情;
当我使用
git log spc
^_______(custom argument)
Run Code Online (Sandbox Code Playgroud)
它运行如下
git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset %C(grey)(%cr) ' --abbrev-commit --date=relative
Run Code Online (Sandbox Code Playgroud)
因此,为此,我在我的中添加了此命令(来自此答案)~/.bash_profile
## git wrapper
git()
{
if [ $# -gt 0 ] && [ "$1" == "log" ] && [ "$2" == "spc" ]; then
shift
set -x
command git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %C(bold blue)<%an>%Creset %Cgreen(%cr) ' --abbrev-commit --date=relative "$@"
else
command git …Run Code Online (Sandbox Code Playgroud)