小编Dar*_*eam的帖子

如何为 git 命令编写包装函数

我想为 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)

linux bash git

4
推荐指数
1
解决办法
1059
查看次数

标签 统计

bash ×1

git ×1

linux ×1