从多个Git Repos和构建中提取的脚本(Maven项目)[关闭]

问题描述 投票:1回答:2

我希望创建一种可以自动拉取和构建多个git repos的脚本。(Windows机器)

本地git存储库如下:

C:\ Users \ user \ Git \ projectA \ projectA

C:\用户\用户\的Git \项目\项目

C:\用户\用户\的Git \项目\项目

C:\用户\用户\ GIT中\项目\项目

在这样做时,它将切换到包含文件夹的develop分支:

So this would run something like this:

cd projectA

cd projectA

git checkout开发

mvn clean install

光盘..

光盘..


等等所有包含的项目


cd projectB

cd projectB

git checkout开发

mvn clean install

光盘..

光盘..

任何正确方向的指导将不胜感激。

windows git maven batch-file
2个回答
1
投票

您可以运行带有qhesxswpoi的括号循环到每个路径并执行任务,如果指定父路径并且不需要cd,则可以从设备上的任何位置运行脚本

cd..

根据您对问题和评论的更改,如果您的子项目文件夹与父文件夹名称相同,则只需执行以下操作:

for /D %%a in ("C:\Users\user\Git\*") do ( 
    cd "%%a"
    git checkout develop 
    mvn clean install
)

如果你在项目文件夹以外的for /D %%a in ("C:\Users\user\Git\*") do ( cd "%%a\%%~na" git checkout develop mvn clean install ) 中有其他文件夹,并且只想git到项目文件夹,那么:

cd

至于你的上一个评论,你能够做到这一点的唯一方法就是使用一个循环,但是在for /D %%a in ("C:\Users\user\Git\project*") do ( cd "%%a\%%~na" git checkout develop mvn clean install ) 循环中指定每个订单:

for

或者即使您想要指定完整文件夹,如果它们可能具有不同的名称,例如:

for %%a in (B,C,A) do ( 
    cd "C:\Users\user\Git\project%%a\project%%a"
    git checkout develop 
    mvn clean install
)

这些问题是,如果要运行许多项目,它对于循环来说会非常大。


0
投票

在批处理文件中,您可以执行以下操作:

for %%a in (projectB,NewProjectC,AnotherProjectA) do ( 
    cd "C:\Users\user\Git\%%a\%%a"
    git checkout develop 
    mvn clean install
)
© www.soinside.com 2019 - 2024. All rights reserved.