我可以使用 GIT Bash 一次性签出所有存储库上的特定分支吗?

0 git git-bash

在我的工作场所,我们的项目有多个存储库,每次冲刺我们都会创建一个新的发布分支,我们正在使用它,一次检查一个分支已经很旧了。是否有一个 Git 命令或脚本可以用来一次性在每个 repo 上检出一个特定的分支,比如 9.5?

cho*_*oba 5

在工作中,我将所有公司存储库保存在一个目录中,该目录包含一个名为forall

#!/bin/bash
for repo in */ ; do
    (   cd "$repo"
        "$@"
    )
done
Run Code Online (Sandbox Code Playgroud)

我可以cd到目录并运行命令

./forall git fetch upstream
./forall git checkout relase9.5
Run Code Online (Sandbox Code Playgroud)

在此之前,您可以验证

./forall git status
Run Code Online (Sandbox Code Playgroud)

报告没有本地变化。此外,在运行pull或之前reset,使用

./forall git branch | grep \*
Run Code Online (Sandbox Code Playgroud)

检查所有存储库是否在同一分支上。