gpt4 book ai didi

git - 创建带格式的 'git log' 别名

转载 作者:太空狗 更新时间:2023-10-29 14:27:18 25 4
gpt4 key购买 nike

我已经在我的 .bash_profile 中设置了一堆可以正常工作的 git 别名:

alias gst="git status"
alias gl="git pull"
alias gp="git push"
alias gd="git diff | mate"
alias gc="git commit -v"
alias gca="git commit -v -a"
alias gb="git branch"
alias gba="git branch -a"

我正在尝试为以下命令添加别名,但一直遇到错误:

git log --all --pretty=format:'%h %cd %s (%an)' --since='7 days ago'

我想做的是能够输入:

glog 'some amount of time'

所以,作为 aliases 和 git 的新手,我认为这可行:

alias glog="git log --all --pretty=format:'%h %cd %s (%an)' --since="

它抛出以下错误:

fatal: ambiguous argument '7 days ago': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'

如何更正我的别名以使其正常工作?

谢谢!

[编辑]

如果我将别名更改为:

alias glog="git log --all --pretty=format:'%h %cd %s (%an)'"

然后输入:

glog --since='some amount of time'

但如果可能的话,我真的很想只输入时间量。

最佳答案

相反,您可以在 .bash_profile 中创建一个函数。它将允许您使用变量:

glog ()
{
git log --all --pretty=format:'%h %cd %s (%an)' --since="$1"
}

像往常一样调用它:

glog "7 days ago"

quick follow-up: how would I change the function to allow the possibility of also appending the --author="so-and-so" flag? as in, I could type glog "7 days ago" or blog "7 days ago" --author="bob"

我会这样做:

glog ()
{
if [ -z "$2" ]; then
git log --all --pretty=format:'%h %cd %s (%an)' --since="$1"
else
git log --all --pretty=format:'%h %cd %s (%an)' --since="$1" --author="$2"
fi
}

所以你可以调用它

glog "7 days ago"
glog "7 days ago" "bob"

注意 if [ -z "$2"]; then 条件检查第二个参数是否为空。如果是,则只执行没有author 的代码。否则,它会使用它。

关于git - 创建带格式的 'git log' 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18875287/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com