如何使用分支名称的字符串格式别名 git checkout -b
How to alias git checkout -b with a string format for the branch name
我的团队为我们的分支名称使用一种格式以保持统一。对于给定的分支,格式为:“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”是指提交或指向一个的东西,如分支或标签)
该怎么办?
为避免这种情况,请使用临时 bash 函数来更方便地处理参数:
git config --global alias.cobf '!f() { git checkout -b feature/TeamName-; }; f'
注意:调用别名时不需要引号,git cobf 111
即可。
我的团队为我们的分支名称使用一种格式以保持统一。对于给定的分支,格式为:“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”是指提交或指向一个的东西,如分支或标签)
该怎么办?
为避免这种情况,请使用临时 bash 函数来更方便地处理参数:
git config --global alias.cobf '!f() { git checkout -b feature/TeamName-; }; f'
注意:调用别名时不需要引号,git cobf 111
即可。