当前位置:   article > 正文

git submodule---同步最新的内容

git submodule---同步最新的内容

0 Preface/Foreword

1 同步最新submodule内容到repo中

项目的repo包含了一个子模块,在开发过程中,经常需要同步子模块最新的commit到repo中。该如何操作呢?

本地在克隆时候,已经同步把子模块中的内容克隆下来了,但是,过了一段时间,子模块在主分支有了新的提交,此时项目repo中记录的还是之前子模块的提交记录。 以下方法用于把子模块最新的提交更新到项目repo中。

步骤如下

第一步:在项目repo中,进入到子模块文件夹下,通过git pull进行拉取

克隆代码的时候,在本地会拉取子模块所有的内容,然后在切换到对应的点(当前项目repo绑定的点)。(为了演示整个过程,重新拉取了项目repo

拉取前:

拉取后:

 因为重新拉取了项目repo,所以本地子模块中已经包含了远程子模块中所有内容,但是远程项目repo记录的子模块点是之前的点,所有子模块目前自动切换到了之前的点。

提示当前没有在一个分支上,需要切换到一个指定的分支。

第二步:返回项目repo根目录,git status查看状态

发现子模块(文件夹)有新的提交。

当前远程仓库中记录的子模块最新的提交如下

第三步:git add 子模块更改

第四步:git commit提交到本地仓库 

第五步:git push 到远程仓库

2 回退子模块修改 

2.1 项目repo路径下update子模块

  git submodule update --remote

 

2.2 回退子模块 

 git submodule update --init --recursive

 

3 查看子模块修改 

3.1 在项目repo路径下查看

git diff 

 

3.2 查看子模块具体修改

git diff --submodule 

 

 3.3 设置submodule显示的总结个数

 git config status.submoduleSummary 1

 

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/397405
推荐阅读
相关标签
  

闽ICP备14008679号