递归推送所有子模块

2024-02-20

我编写了以下脚本来推送工作区中的所有更改,包括子模块和超级项目。然而,听起来有点奇怪,做我想做的事情是如此复杂。我缺少的还有更好的方法吗?

#!/bin/bash

if [ "$#" -ne 1 ]; then
    echo "Illegal number of parameters"
    exit
fi

SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

cd "${SCRIPT_DIR}/../submodule1" 
git status
git add -A
git commit -m "$1"
git push origin master

cd "${SCRIPT_DIR}/../submodule2" 
git status
git add -A
git commit -m "$1"
git push origin master

cd "${SCRIPT_DIR}/../submodule3" 
git status
git add -A
git commit -m "$1"
git push origin master

printf "\n\nUpdating Super Project\n\n" 
cd .. 
git status
git add -A
git commit -m "All Submodules Updated - $1"
git push origin master

您可以使用git submodule foreach在每个子模块上运行任何所需的命令,例如

git submodule foreach git push origin master

See: man git-submodule https://git.csx.cam.ac.uk/man/git-submodule.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

递归推送所有子模块 的相关文章

随机推荐

  • 外键到底是什么?

    好的 所以我知道数据库中的主键是什么 如果数据库中有一个表 则主键是表中每一行唯一的单个值 例如 id name whatever 1 Alice 2 Bob 45 Eve 988 所以我需要一个好的 简单的例子来解释外键到底是什么 因为我
  • 仅使用单精度浮点近似 [0,pi] 上的余弦

    我目前正在研究余弦的近似值 由于最终的目标设备是自行开发的 32 位浮点 ALU LU 并且有专门的 C 编译器 因此我无法使用 C 库数学函数 cosf 我的目标是编写在准确性和指令 周期数量方面有所不同的各种方法 我已经尝试过很多不同的
  • 空对象的条件类型

    是否有可能有一个条件类型可以测试可以为空的对象 例如 function test
  • 如何将我自己的代码/函数和外部java库添加到azure函数应用程序

    我编写了一些代码来在代码运行时创建一个文件 我的计划是按照定期计划将其放在 Microsoft Azure 函数应用程序上 因此它每小时或每天运行一次 我将使用计时器触发器并在那里也有一个 HTTP 请求触发器进行测试 但是 我不知道在哪里
  • 计算 C 中一致字符串的数量

    所以这是 leetcode 的一个问题 我遇到了一些问题 我已经看到解决这个问题的代码发布到 leetcode 的讨论部分 但我想知道是否有人可以帮助我解决这个问题我已经写过的代码 这就是问题所在 给你一个字符串allowed由不同的字符和
  • Visual Studio:针对私有和内部成员缺少 XML 文档发出警告

    我正在使用 Visual Studio 2005 VS 8 0 并且我希望强制执行所有类成员 而不仅仅是公共成员 都被记录的要求 虽然设置 Visual Studio 在公共 受保护或内部受保护成员未记录时生成警告很简单 但我正在寻找一种方
  • Cygwin 中的 .seh_savexmm 寄存器无效

    制作 我曾使用 cygwin 但遇到编译错误 我不确定 seh savexmm 的无效寄存器是什么 请帮我 我在谷歌上搜索了这个问题但没有找到 问题很多 但没有灵魂 请帮我 perl generate functions pl file o
  • 如何在 VSCode 中使用 yapf(或 black)

    我使用以下命令安装了 yapf conda install yapf 并在我的中添加下一行 vscode settings json file python linting pylintEnabled true python linting
  • 使用 Firebase 云功能实现发送电子邮件

    对于我们的网络应用程序 我们目前使用 Firebase 的免费计划 并且需要发送有关各种事件 触发器的电子邮件 问题是 我认为 Mailgun 及其云功能可以完美地完成此任务 但看起来只能将其 API 与 Firebase 的付费计划一起使
  • 无法在 C++20 中将 std::cin 与 char* 或 char[] 一起使用

    It used上班 阅读std cin到动态分配的chararray 或作为参数传入的数组 请参阅下面的 MCVE include
  • 使用 dask 加载大型压缩数据集

    我正在尝试将一个大型压缩数据集加载到 python 中 其结构如下 year zip year month 很多 csv 文件 到目前为止 我已经使用 ZipFile 库迭代每个 CSV 文件并使用 pandas 加载它们 zf ZipFi
  • 加载动画png [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找一个透明的动画加载图标 然而 我知道我很懒 我不想自己做 如果这不是这篇文章的正确论坛 请原谅我 我过去在这里运气很好 有谁知道我在哪里可以
  • 将管道/连接作为上下文参数传递给多处理 Pool.apply_async()

    我想使用管道与池中的流程实例进行通信 但出现错误 让 p 成为 Pool 的一个实例 master pipe worker pipe Pipe self p apply async worker task handler info cont
  • JavaScript 全局变量

    我应该如何创建一个变化变量作为全局变量 所以像这样 function globVar variable window variable 因此 通过这种方式 我也可以在自动模式下创建全局变量 而且我也可以更轻松地为自己创建它们 EDIT 例如
  • 尝试向 MYSQL 表添加新列时失去连接

    我正在尝试向拥有超过 2500 万行的 mysql 表添加一列 我正在运行 sql 命令 ALTER TABLE table name ADD COLUMN column name varchar 128 NULL DEFAULT NULL
  • 第三方API的Cors问题

    我很难从浏览器上的第三方 api 获取数据 https www coinexchange io api v1 getmarkets https www coinexchange io api v1 getmarkets I set mode
  • Git:管理我的应用程序的每个版本?

    我正在使用 git 和 github 并且刚刚完成了 iOS 应用程序的 1 0 版本 从这里开始 我想知道 git 如何才能最好地为我服务 我真的只是在这里寻找最佳实践 以及其他人推荐的管理主要版本的方法 我应该为每个新版本 例如 1 1
  • 从 vba 调用 MS SQL Server 标量 UDF

    我正在对连接到 SQL Server 2005 后端的 Access 2007 accdb 而不是 adp 前端进行编程 我怎样才能打电话scalar我的 vba 代码中的用户定义函数 Dim rst As ADODB Recordset
  • Pywinauto:无法将窗口带到前台

    致力于使用 Python 驱动的自动化工具 想象一下有一个正在运行的应用程序池 APPS POOL Chrome SomeApp Foo 该脚本在循环中运行 每秒 并且需要在它们之间随机切换 Init App object app appl
  • 递归推送所有子模块

    我编写了以下脚本来推送工作区中的所有更改 包括子模块和超级项目 然而 听起来有点奇怪 做我想做的事情是如此复杂 我缺少的还有更好的方法吗 bin bash if ne 1 then echo Illegal number of parame