1

複数のコマンドを実行するエイリアスを作成しようとしています。具体的には、このコマンドは、複数のディレクトリに複数の git ブランチを作成することになっています (これを行う他の方法を知っていれば、それは素晴らしいことです)。

alias branches="folder1; git checkout -b $1 ; folder2 ; git checkout -b $1; folder3; git checkout -b $1; folder4; git checkout -b $1"

folder(n) は git リポジトリ (別のプロジェクト) を表し、それ自体は以前に使用した単純な cd エイリアスであるため、問題はありません。

私が得ているエラー:

bash: syntax error near unexpected token `;'

これを行っているのは、リファクタリングのように複数のプロジェクトに影響を与える featureA で作業するとき、常に featureA ブランチにいることを確認したいからです。

ありがとう。

編集: sh エイリアスを使用したい。タイトルは、この事実を反映するように編集されています。

4

2 に答える 2

2

エイリアスではなく、シェル関数が必要なようです。

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
}
于 2012-04-11T13:31:51.793 に答える
1

それは git エイリアスですか、それとも sh エイリアスですか?

git エイリアスの場合は!、コードの先頭に a を追加する必要があります (シェルで実行できるようにするため)。

しかし、私が読んだことから、あなたが望むのはgitエイリアスではなく、シェル関数であり、各フォルダーに移動して、前述のブランチをチェックアウトします(ちなみに、まったく良い考えではありません)。

于 2012-04-11T12:53:40.640 に答える