git - 检查 git 子模块是否已在远程更新

标签 git cmake

我想在我的 cmake 脚本中添加一个检查,以检查远程子模块存储库的头部是否已更新。到目前为止,我只是在脚本中运行 git submodule update --init --recursive,但是如果更新了远程子模块,这可能会导致意外更改。 有没有一种很好的方法来检查远程头是否在本地子模块头之前进行了几次提交而不更改本地子模块的状态?

最佳答案

基于 https://stackoverflow.com/a/3278427/7976758我会做这样的事情:

git submodule foreach git remote update
git submodule foreach git --no-pager diff origin/master master

如果子模块使用不同的分支,脚本需要考虑到这一点。

关于git - 检查 git 子模块是否已在远程更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50965094/

相关文章:

git - 将更改推送到原点(上游)后如何将更改推送到另一个 Remote ?

Git:服务器上多个用户的 repo

node.js - 开发流程中的 Git npm 版本管理

c++ - 目标需要语言方言 "CXX17"(带有编译器扩展),但 CMake 不知道用于启用它的编译标志

CMake set_property() 似乎不适用于源文件

linux - Linux 上的 CMake 和资源文件中的链接

git - 在 Git 中查找 HEAD 从哪个分支分离

git - 使用 vimdiff 强制 git show 显示差异

CMake 配置

c++ - 在 Visual Studio 2017 中使用 Qt 库的 CMake 项目 : can't find Qt dll when running the exe