我正在尝试创建一个为我运行多个命令的别名。具体来说,该命令应该在多个目录中创建多个git分支(如果你知道其他一些方法,那就太棒了。)这就是我在做的事情:
alias branches="folder1; git checkout -b $1 ; folder2 ; git checkout -b $1; folder3; git checkout -b $1; folder4; git checkout -b $1"
请注意,文件夹(n)表示一个git repo(一个单独的项目),它本身就是我之前使用的一个简单的CD别名,所以没有问题。
我得到的错误:
bash: syntax error near unexpected token `;'
我这样做是因为当我处理影响多个项目的featureA时,比如重构,我想确保我总是在featureA分支中。
感谢。
编辑:我想使用sh别名。编辑标题以反映这一事实。
答案 0 :(得分:2)
看起来你不想要别名,而是shell函数:
function branches {
cd folder1
git checkout -b $1
cd folder2
git checkout -b $1
cd folder3
git checkout -b $1
cd folder4
git checkout -b $1
}
或者,更好的是,在循环中进行:
function branches {
for folder in folder1 folder2 folder3 folder4 ; do
cd $folder
git checkout -b $1
done
}
答案 1 :(得分:1)
这是一个git别名还是别名?
如果它是git别名,则需要在代码的开头添加!
(以便shell可以运行它)。
但是从我读过你想要的东西不是一个git别名而是一个shell函数,它将进入每个文件夹并检查所述分支(顺便说一句,根本不是一个好主意)。