使用批处理脚本将多个标签推送到多个Github存储库

时间:2019-05-07 14:05:59

标签: git batch-file tags

使用脚本一次性将标签推送到多个git存储库中。

  1. 首先,我们为git存储库创建一个单独的文件夹。
  2. 拉存储库。
  3. 在本地创建标签。
  4. 将标签推送到遥控器。 循环播放。

使用代码指南:

  1. 编辑主目录,标签,git URL,存储库名称的变量。
  2. 在变量“ repList”中设置存储库名称,例如(repo1,repo2,repo3)。
  3. 您可以通过添加条件为多个项目添加多个标签。

请提出改进​​建议。

 ::Custom Script
echo off
setlocal ENABLEDELAYEDEXPANSION
set Project_Home=D:\Jwork
set Project=Tagging
set repoURL=https://github.com...
Set Tag=<VersioinTest>
Set branch=master
d:

echo Auto tagging in progress...
cd "%Project_Home%\%Project%"
set repList=maven-repo
echo List of repositories configured for tagging: "%repList%"
for %%a in ("%repList:,=" "%") do (
    IF NOT EXIST "%Project_Home%\%Project%\%%a" (
       mkdir %%a
       if %ERRORLEVEL% == 0 (
            echo folder created %%a successfully.
            )
        if NOT %ERRORLEVEL% == 0 (
            echo Error in initializing %%a. Please see stack trace ...
            exit
            )
       cd "%%a"
       git init
        if %ERRORLEVEL% == 0 (
            echo %%a initilized successfully.
            )
        if NOT %ERRORLEVEL% == 0 (
            echo Error in initializing %%a. Please see stack trace ...
            exit
            )
       )
   cd "%Project_Home%\%Project%\%%a"
   git pull %repoURL%/%%a
   pause
   IF EXIST "%Project_Home%\%Project%\%%a" (
    git tag -a %Tag% -m "Tag repository %%a"
    if %ERRORLEVEL% == 0 (
        echo try to tag %%a.
        )
        if NOT %ERRORLEVEL% == 0 (
        echo Error in tagging %%a. Please see stack trace ...
        exit
        )
    git push %repoURL%/%%a tag %Tag%
       if %ERRORLEVEL% == 0 (
        echo try to puch tag %%a.
        )
        if NOT %ERRORLEVEL% == 0 (
        echo Error in pushing tag %%a. Please see stack trace ...
        exit
        )
    ) ELSE (
    echo Repository %%a folder not found for tagging.
    exit
    )
)
pause
exit

0 个答案:

没有答案