如何使用分支名称的字符串格式为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就可以了。


以上是如何使用分支名称的字符串格式为gitcheckout-b设置别名的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>