git命令在控制台中工作,但不作为别名

时间:2016-06-15 20:52:50

标签: git bash

以下命令在控制台中起作用:

 git reset --soft `git rev-parse --abbrev-ref --symbolic-full-name @{u}` && git commit --edit -m "$(git log --format=%B --reverse HEAD..HEAD@{1})"

这意味着将未压缩的提交压缩为一个并提供编辑消息的机会。有关详细信息,请参阅Find out which remote branch a local branch is trackingSquash my last X commits together using Git

但是以下别名失败:

squash-uncomited = reset --soft `git rev-parse --abbrev-ref --symbolic-full-name @{u}` && git commit --edit -m "$(git log --format=%B --reverse HEAD..HEAD@{1})"
  

✗git squash-uncomited error:未知选项`abbrev-ref'

     

用法:git reset [--mixed | --soft | - 硬| --merge | --keep] [-q] []

     

或:git reset [-q] [ - ] ...或者:git reset --patch   [] [ - ] [...]

为什么会这样?别名和CLI命令有什么区别?

1 个答案:

答案 0 :(得分:1)

你在那里有一个完整的管道,而不仅仅是一个arglist重写。将<head>放在它前面让git再次使用第一个命令!git在shell中运行整个事物。