2

为了统一,我的团队使用我们的分支名称格式。对于给定的分支,格式为:“feature/TeamName-CardNumber”。卡号是唯一会改变的部分,所以我想创建一个别名,例如:

git cobf '111'

其中111是卡号。

我试过这个命令来设置别名:

git config --global alias.cobf 'checkout -b feature/TeamName-"

但是在运行git cobf 111命令时,我收到一条错误消息,指出 111 不是提交,并且无法从中创建分支。

4

1 回答 1

7

为什么会失败?

这是因为在扩展别名后,您的命令被解析为

git checkout -b feature/TeamName- 111

...这对于 git 意味着“签出一个名为feature/TeamName-指向committish 111的新分支”(粗略地说,“committish”是提交或指向某个的东西,如分支或标签)


该怎么做?

为避免这种情况,请使用临时 bash 函数更方便地处理参数:

git config --global alias.cobf '!f() { git checkout -b feature/TeamName-$1; }; f'

注意:当您调用别名时不需要引号,git cobf 111可以。

于 2020-12-09T20:36:09.687 回答