参数前没有 space 的 xargs(或其他东西)

xargs (or something else) without space before parameter

我想执行这样的操作(git squash):

git rebase -i HEAD~3

git log 中提取 3:

git log | blabla | xargs git rebase -i HEAD~

这不起作用,因为 xargs 在 HEAD~ 之后插入了一个 space。

问题是我想给这个命令加上别名,所以我不能只使用

git rebase -i HEAD~`git log | blabla`

因为这个数字会在我定义别名时计算。

我不必使用 xargs,我只需要一个别名(最好不是函数)。

试试这个:

git log | blabla | xargs -i bash -c 'git rebase -i HEAD~{}'

您可以使用 xargs-I 选项:

git log | blabla | xargs -I% git rebase -i HEAD~%