1.从子模块的远端拉取上游修改

1.1 在项目子模块目录中,运行git fetch与git merge更新本地代码

(1) 这种方法在获取子模块非master分支的更新时,没成功获取更新,没搞清楚原因;

(2) 如果现在返回主项目并运行git diff --submodule,可以看到子模块被更新的同时,获得了一个包含新添加提交的列表; 如果不想每次运行git diff时都输入--submodule,可以将diff.submodule设置为"log"来将其作为默认行为,即"git config --global diff.submodule log";

1.2 在项目目录中,运行git submodule update --remote;

(1) git会进入子目录然后抓取更新;

(2) 该命令默认user想要更新并检出子模块仓库的master分支,可以通过设置更新并检出子模块的其他分支;

(3) "git config -f .gitmodules submodule.submodule名字.branch  submodule分支名"可以实现(2)中目的;

(4) 当运行git submodule update --remote时,git默认会尝试更新所有子模块,如果有很多子模块的话,可以传递想要更新的子模块的名字(未实践);

(5) 可以通过执行"git config --global diff.submodule log"实现,执行git diff命令时,达到git diff --submodule的效果;

(6) 可以通过执行"git config status.submodulesummary 1",实现执行git status时,显示更详细的内容;

(7) 提交改动后,可以使用git log -p --submodule查看子模块中的提交日志;

2.从项目远端拉取更改

(1) 默认情况下,git pull命令会递归地抓取子模块的更改,但是它不会更新子模块; 此时,执行git status,会显示子模块"已修改",但没有更新;为了完成更新,需要运行git submodule update,最好运行git submodule update --init --recursive;

最新文章

  1. mysql 主从master-slave同步复制 配置,为读写分离准备
  2. mysql局域网连接
  3. The Run-Time Constant Pool The Constant Pool
  4. DTCMS中文章增加tags标签和关键词时中文,替换为英文状态,
  5. Go2Shell
  6. 浅析Linux操作系统工作的基础
  7. 转:char*, char[] ,CString, string的转换
  8. 方案:解决 wordpress 中 gravatar 头像被墙问题
  9. QTP的基本功能介绍
  10. Java中的数组越界问题
  11. 微信小程序之----问题
  12. 两个java项目,跨域访问时,浏览器不能正确解析数据问题
  13. Docker入门之四搭建私有仓库
  14. git使用教程之了解git
  15. Python day 6(5) Python 函数式编程3
  16. Mittag-Leffer函数, Matlab内部函数
  17. JavaScript有这几种测试
  18. SED单行脚本快速参考(Unix 流编辑器)(转)
  19. Java实现五子棋
  20. Linux中常用命令

热门文章

  1. c#反射优化
  2. spring 事务不生效
  3. Day 22 22.3:生产者和消费者模式
  4. 如何将一个h5ad文件内部添加一个csv文件作为属性obsm
  5. Matplotlib 轴标签和标题
  6. iperf3带宽性能检测工具
  7. iOS 制作一个动态库
  8. HttpClient线程池&重试机制
  9. Web服务器1-socket编程
  10. mysql拼接多条字段