複数のフォルダ/ストレージからgitブランチをインポートする

複数のフォルダ/ストレージからgitブランチをインポートする

複数のストレージがあるフォルダがあります。私が走ることができる方法はありませんかgit branch各フォルダ内のコマンド?

$ ls
project1            project2                project3            project4

以下のような出力が必要です。

$ command
project1 [master]
project2 [dev]
project3 [master]
project4 [master]

ベストアンサー1

この試み。$1すべてのリポジトリを含む親ディレクトリである必要があります(または「.」を使用して現在のディレクトリを表す)。

#!/bin/bash

function git_branches()
{
    if [[ -z "$1" ]]; then
        echo "Usage: $FUNCNAME <dir>" >&2
        return 1
    fi

    if [[ ! -d "$1" ]]; then
        echo "Invalid dir specified: '${1}'"
        return 1
    fi

    # Subshell so we don't end up in a different dir than where we started.
    (
        cd "$1"
        for sub in *; do
            [[ -d "${sub}/.git" ]] || continue
            echo "$sub [$(cd "$sub"; git  branch | grep '^\*' | cut -d' ' -f2)]"
        done
    )
}

これを独自のスクリプトにすることも(置き換えることもできます$FUNCNAME)、$0関数内に保存してスクリプトで使用できます。

おすすめ記事