【发布时间】:2016-06-15 20:52:50
【问题描述】:
以下命令在控制台中起作用:
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 tracking 和 Squash 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-uncommitted error: unknown option `abbrev-ref'
用法:git reset [--mixed | --软 | --硬 | --合并 | --keep] [-q] []
或:git reset [-q] [--] ... 或:git reset --patch [] [--] [...]
为什么会这样?别名和 CLI 命令有什么区别?
【问题讨论】: