这更像是一个 shell 脚本问题,而不是一个 git 问题。
我有一个目录结构,类似于:
/projects/Project1/package1
/projects/Project1/package2
/projects/Project1/package3
ETC...
我正在为我的每个包使用 git,但我正在尝试运行一个脚本,该脚本将从远程为我的每个包提取最新更改。我目前有一个包目录列表,但我想: 1 - 遍历每个包目录 2 - 对于每个包目录,获取我所在的当前分支并将其存储在一个变量中
我目前停留在第 2 步,因为我不确定如何导航到目录,运行“git branch”命令,解析它,然后将输出吐出到变量中。我可以单独完成每个步骤,但我无法将它们放在一起。
这是我目前拥有的:
for pkgName in `ls "$WORKSPACE"/src/`
do
pkgDir="$WORKSPACE"/src/"$pkgName"
CURRENT_BRANCH=${cd $pkgDir && `git branch 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1/"`}
echo $CURRENT_BRANCH
#... checkout to mainline, pull, then checkout $CURRENT_BRANCH and rebase mainline...
done
本质上,我想将目录的 git 分支名称分配给“$CURRENT_BRANCH”。