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

时间:2018-07-26 17:26:19

标签: git git-bash

在我的工作场所,我们为项目提供了多个存储库,并且每个sprint都创建了一个新的发布分支,并且每次都将它们逐个签出已经非常老了。我可以使用Git命令或脚本一次签出每个回购中特定分支(例如9.5)吗?

2 个答案:

答案 0 :(得分:4)

在工作中,我将所有公司资料库都保存在一个包含名为forall的脚本的目录中:

#!/bin/bash
for repo in */ ; do
    (   cd "$repo"
        "$@"
    )
done

然后我可以cd到目录并运行类似的命令

./forall git fetch upstream
./forall git checkout relase9.5

在执行此操作之前,您可以验证

./forall git status

未报告本地更改。另外,在运行pullreset之前,请使用

./forall git branch | grep \*

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

答案 1 :(得分:0)

否,git没有任何您可以按照此处描述的方式与多个存储库交互的命令。为此,您需要编写.bat(Windows)或.sh(Linux或Git Bash)脚本。