【git】git子模块操作-从子模块的远端拉取上游修改 & 从项目远端拉取更改
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;
【git】git子模块操作-从子模块的远端拉取上游修改 & 从项目远端拉取更改的更多相关文章
- git彻底删除或变更子模块
今天遇到一个很怪的问题,我想把我的一个子模块切换到另一个上游,我按照网上的方法删除子模块然后新建后,这个子模块依旧跟踪着我先前的上游.自己摸索了一下,可能方法比较傻,不过是可行的,希望能给大家一些帮助 ...
- Git基本命令行操作 (转)
Git远程操作详解 作者: 阮一峰 Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和 ...
- git 命令行操作
Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目 这里说一下在命令行对git进行操作 git init [在本地初始化一个git库] //当你的git服务器里面已经有文 ...
- [skill][git] git 常用操作记录
傻瓜入门: step by step : https://try.github.io/levels/1/challenges/1 一本书: https://git-scm.com/book/en/v2 ...
- Git下基本命令操作
提前准备好一个文件夹,并且进入该文件夹. 1.clone Github 上的Repository,如: git clone git@github.com:Git账号用户名/项目名称.git 2.仓库初 ...
- git 经常使用操作集锦
创建仓库 新建普通仓库: jxdong@ubuntu-server:~/workspace/git$ git init Reinitialized existing Git repository in ...
- 常用 Git 命令行操作
本文记录了一些常用 Git 命令行操作的具体使用方式 git clone git clone REPOSITORY_URL 拉取仓库,并使用仓库名作为本地文件名 git clone REPOSITOR ...
- git命令行操作
从本地上传代码到仓库(假设已经建好仓库): 1.初始化: git init 2.将所有文件加入缓存区: git add * 3.提交当前工作空间的修改内容: git commit -m 'commit ...
- jenkins中通过git发版操作记录
之前说到的jenkins自动化构建发版是通过svn方式,今天这里介绍下通过git方式发本的操作记录. 一.不管是通过svn发版还是git发版,都要首先下载svn或git插件.登陆jenkins,依次点 ...
- Git基本命令行操作
A. 新建Git仓库,创建新文件夹git init B. 添加文件到git索引git add <filename> --- 单个文件添加git add * --- 全部文件添加 C. ...
随机推荐
- Jenkins安装(Docker)版
一.jenkins安装 1.查找,下载jenkins镜像文件 启动docker,查找Jenkins镜像文件 docker search jenkins 下载Jenkins镜像文件 docker pul ...
- XShell 连接 VMware Linux
如果你的系统是 Ubuntu,并且是精简安装的系统,极大可能使用ifconfig时会提示你安装相关依赖,所以你安装的时候要记得顺带安装 ifconfig: sudo apt install ifcon ...
- Linux安装PHP8 新版笔记
PHP部分 官网下载地址:https://www.php.net/downloads.php 我下载的是此时的最新稳定版8.2.3 cd /usr/localwget https://www.php. ...
- 简单介绍Python中如何给字典设置默认值
这篇文章主要介绍了Python中如何给字典设置默认值问题,具有很好的参考价值,希望对大家有所帮助.如有错误或未考虑完全的地方,望不吝赐教 Python字典设置默认值 我们都知道,在 Python 的字 ...
- Vue2安装less版本过高问题,需要降级
安装指定less版本解决: -D: 本地安装 -g: 全局安装 npm install less@3.9.0 less-loader@5.0.0 -D
- C# 属性空引用警告
whereExpression = whereExpression.And(u => u.ValueInterger.ToString() != null &&** u.Valu ...
- JavaScrip 学习笔记
<script> $().ready(function () { // 在键盘按下并释放及提交后验证提交表单 $("#form1").validate({ errorE ...
- 00_java基础笔记
_01_命令提示符 //cmd的操作(Ms-DOS) /* * 进文件夹:cd 文件夹名 * 进多级文件:cd 文件夹1\文件夹2 * 返回上一级:cd .. * 回根路径:cd \ * 查看当前内容 ...
- Git下载、安装与配置
1.Git下载: 访问Git官网,下载对应操作系统的的安装包. 这里笔者是64位机器,选择如下: 2.Git安装: 打开安装包进行安装: 一路next到Finish: 在CMD中输 ...
- SpringBoot中常见问题
Invalid bound statement(not found): 异常原因:编译之后的mapper文件中的.xml文件未编译, 解决方法:在pom.xml文件中添加如下配置,添加位置为build ...