我正在尝试编写日志别名
git config --global --replace-all alias.lol6 "! f() { echo "\$1"; git --no-pager log --oneline --graph -15 \${@}; }; f"
并像这样使用它:
git lol5 '@{-1}'
git log '@{-1}' #works
但是传递给 git 的 commit-ish 是 @-1
fatal: ambiguous argument '@-1': unknown revision or path not in the working tree
我读 了这篇文章,但不明白如何使用它
谢谢波阿斯
更多信息,尝试过@vonc 建议
git config --global --replace-all alias.lol6 '! f() { echo "$1"; git --no-pager log --oneline --graph -15 ${@}; }; f'
得到相同的结果,打开 GIT_TRACE
git lol6 @{-1}
20:20:37.454153 git.c:576 trace: exec: git-lol6 '@{-1}'
20:20:37.454153 run-command.c:640 trace: run_command: git-lol6 '@{-1}'
20:20:37.463150 run-command.c:640 trace: run_command: ' f() { echo "$1"; git --no-pager log --oneline --graph -15 ${@}; }; f' '@{-1}'
@-1
22:20:37.607150 git.c:344 trace: built-in: git log --oneline --graph -15 @-1
fatal: ambiguous argument '@-1': unknown revision or path not in the working tree.
Git 在第一个参数周围添加 ''
但是!!!,如果我尝试过
git lol6 HEAD
20:30:35.621257 run-command.c:640 trace: run_command: ' f() { echo "$1"; git --no-pager log --oneline --graph -15 ${@}; }; f' HEAD
Git 不会在 HEAD 周围添加 ''