Bash 如何使用分支名称的字符串格式来别名git checkout-b
我的团队为我们的分支机构名称使用一种统一的格式。对于给定的分支机构,格式为:“功能/团队名称卡号”。卡号是其中唯一会更改的部分,因此我想创建一个别名,例如:Bash 如何使用分支名称的字符串格式来别名git checkout-b,bash,git,Bash,Git,我的团队为我们的分支机构名称使用一种统一的格式。对于给定的分支机构,格式为:“功能/团队名称卡号”。卡号是其中唯一会更改的部分,因此我想创建一个别名,例如: git cobf '111' 其中111是卡号 我尝试使用此命令设置别名: git config --global alias.cobf 'checkout -b feature/TeamName-" 但是,当运行git cobf 111命令时,我收到一个错误,说明111不是提交,无法从中创建分支。为什么失败? 这是因为在扩展
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-
指向committesh111
”的新分支”(粗略地说,“committesh”是指提交或指向一个分支的东西,如分支或标记)
该怎么办? 为了避免这种情况,请使用ad-hoc bash函数更方便地处理参数:
git config --global alias.cobf '!f() { git checkout -b feature/TeamName-$1; }; f'
注意:调用别名时不需要引号,
git cobf 111
就可以了。这太完美了,谢谢!