在我的工作场所,我们为项目提供了多个存储库,并且每个sprint都创建了一个新的发布分支,并且每次都将它们逐个签出已经非常老了。我可以使用Git命令或脚本一次签出每个回购中特定分支(例如9.5)吗?
答案 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
未报告本地更改。另外,在运行pull
或reset
之前,请使用
./forall git branch | grep \*
检查所有存储库是否在同一分支上。
答案 1 :(得分:0)
否,git没有任何您可以按照此处描述的方式与多个存储库交互的命令。为此,您需要编写.bat(Windows)或.sh(Linux或Git Bash)脚本。