我经常使用git commit --fixup=<commit>
,并希望将其缩短为git fixup <commit>
。有时我想添加其他标志(例如-a
)。因此我设置了一个别名,它支持一个额外的标志($2
):
[alias]
fixup = !sh -c 'git commit -m\"fixup! $1\" \"$2\"' -
这可以推广到支持任意数量的标志吗?
答案 0 :(得分:1)
我相信这样的事情对你有用:
[alias]
fixup = "!_() { local commit_id=\"$1\"; shift; git commit -m \"fixup! $commit_id\" \"$@\"; }; _"
它使用shell函数和移位运算符来剥离第一个参数。然后$@
可用于剩余的参数。