如何使用分支名称的字符串格式为gitcheckout-b设置别名
我的团队为我们的分支名称使用了统一格式。对于给定的分支,格式为:“feature/TeamName-CardNumber”。卡号是唯一会改变的部分,所以我想创建一个别名,例如:
git cobf '111'
其中 111 是卡号。
我试过这个命令来设置别名:
git config --global alias.cobf 'checkout -b feature/TeamName-"
但是在运行git cobf 111命令时,我收到一条错误消息,指出 111 不是提交,并且无法从中创建分支。
回答
为什么会失败?
这是因为在别名扩展后,您的命令被解析为
git checkout -b feature/TeamName- 111
...git 的意思是“签出一个名为feature/TeamName-指向committish 的新分支111”(粗略地说,“committish”是一个提交或指向一个的东西,如分支或标签)
该怎么办?
为避免这种情况,请使用 ad-hoc bash 函数更方便地处理参数:
git config --global alias.cobf '!f() { git checkout -b feature/TeamName-$1; }; f'
注意:当您调用别名时不需要引号,git cobf 111就可以了。