使用bashrc sh别名创建多个git分支

时间:2012-04-11 12:34:51

标签: git bash branch alias

我正在尝试创建一个为我运行多个命令的别名。具体来说,该命令应该在多个目录中创建多个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别名。编辑标题以反映这一事实。

2 个答案:

答案 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函数,它将进入每个文件夹并检查所述分支(顺便说一句,根本不是一个好主意)。