美文网首页
iOS 工程化. 使用 Shell脚本批量创建不同仓库的git

iOS 工程化. 使用 Shell脚本批量创建不同仓库的git

作者: DingGa | 来源:发表于2023-05-17 23:06 被阅读0次

    在 iOS 开发中,如果pod 仓库很多时候, 每次更新需要手动创建很多个分支,浪费时间, 我们可以使用脚本批量创建不同仓库的git分支

    1. 提高效率

    如果你有大量的仓库需要创建同样的分支,使用脚本可以大大提高效率。你只需要运行一次脚本,就可以在所有的仓库中创建分支,而不是在每个仓库中手动创建分支。

    1. 减少错误

    人工操作容易出错,而脚本则可以保证在每个仓库中创建的分支名称、初始提交等信息完全一致。

    1. 便于管理

    当你需要在多个仓库中创建、切换或删除相同的分支时,使用脚本可以使你更方便地管理这些分支。

    1. 自动化

    通过脚本,可以实现一系列的自动化操作,如拉取最新代码、切换到特定分支、合并代码、推送代码等,进一步提高开发效率。

    1. 可定制和可扩展

    你可以根据需要定制脚本,添加更多的功能,如在创建分支后自动创建 pull request、在所有仓库中执行相同的 git 命令等。

    1. 方便集成其他工具

    你可以将这个脚本集成到其他工具中,如 CI/CD 工具,实现自动化的代码发布和部署。
    总结来说,使用脚本批量创建分支可以提高开发效率,减少错误,便于管理,具有很高的灵活性和扩展性,是一种很实用的开发技巧。

    #!/bin/bash
    
    # 1. 创建一个包含所有 Git 仓库路径的数组
    git_repos=(
        "/path/to/repo1"
        "/path/to/repo2"
        "/path/to/repo3"
        # ...
    )
    
    # 2. 遍历数组中的每个 Git 仓库路径
    for repo in "${git_repos[@]}"; do
        echo "处理 Git 仓库: $repo"
        cd "$repo"
    
        # 3. 检查 Git 状态并丢弃所有修改
        git reset --hard
        git clean -fd
    
        # 4. 检查是否有 "release/2023_New_2302" 分支
        git fetch
        if git rev-parse --verify release/2023_New_2302 >/dev/null 2>&1; then
            # 5.2. 切换到 "release/2023_New_2302" 分支并更新
            git checkout release/2023_New_2302
            git pull
        else
            # 5.1. 从远端拉下 "release/2023_New_2302" 分支
            git checkout -b release/2023_New_2302 origin/release/2023_New_2302
        fi
    
        # 6. 检查是否有 "release/2023_New_Release_MR2302" 分支
        git fetch
        if git rev-parse --verify release/2023_New_Release_MR2302 >/dev/null 2>&1; then
            echo "分支 release/2023_New_Release_MR2302 已经存在"
        else
            # 7. 创建 "release/2023_New_Release_MR2302" 分支并推送到远程仓库
            git checkout -b release/2023_New_Release_MR2302
            if git push --set-upstream origin release/2023_New_Release_MR2302; then
                echo "分支 release/2023_New_Release_MR2302 创建成功"
            else
                echo "分支 release/2023_New_Release_MR2302 创建失败,可能已经存在"
            fi
        fi
    done
    
    

    相关文章

      网友评论

          本文标题:iOS 工程化. 使用 Shell脚本批量创建不同仓库的git

          本文链接:https://www.haomeiwen.com/subject/kjhwsdtx.html