所以我试图为我在Git中所做的事情创建一个别名:根据我的开发分支创建一个新的分支但是不跟踪它。我在命令提示符下输入的代码是:
Git checkout –b branchname --no-track origin/develop
现在,我想将其转换为别名,所以我正在尝试这个:
git config --global alias.newBranch "!git checkout -b $1 --no-track origin/develop"
然而,当我输入" git newBranch test"时,我得到了回复:"致命:'测试'不是提交和分支测试'无法从中创建"
我在这里缺少什么?
答案 0 :(得分:2)
Git从字面上解释别名。即,当扩展别名git时
做简单的文字替换。在你的情况下,如果你运行git newBranch test
git将其扩展为命令
!git checkout -b $1 --no-track origin/develop test
这当然不是你想要的。你需要一个shell函数来传递参数:
git config --global alias.newBranch "!f() { git checkout -b $1 --no-track origin/develop; }; f"