git-submodule子模块的添加、使用和删除
hugo添加主题的时候 命令如下:
git submodule add https://github.com/samrobbins85/hugo-developer-portfolio hugo-developer-portfolio
纳尼 这是个什么鬼
添加
添加子模块非常简单,命令如下:
git submodule add
其中,url为子模块的路径,path为该子模块存储的目录路径。
执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加的路径)
git diff --cached查看修改内容可以看到增加了子模块,并且新文件下为子模块的提交hash摘要
git commit提交即完成子模块的添加
使用
克隆项目后,默认子模块目录下无任何内容。需要在项目根目录执行如下命令完成子模块的下载:
git submodule init
git submodule update
或:
git submodule update --init --recursive
执行后,子模块目录下就有了源码,再执行相应的makefile即可。
更新
子模块的维护者提交了更新后,使用子模块的项目必须手动更新才能包含最新的提交。
在项目中,进入到子模块目录下,执行 git pull更新,查看git log查看相应提交。
完成后返回到项目目录,可以看到子模块有待提交的更新,使用git add,提交即可。
删除
有时子模块的项目维护地址发生了变化,或者需要替换子模块,就需要删除原有的子模块。
删除子模块较复杂,步骤如下:
rm -rf 子模块目录 删除子模块目录及源码
vi .gitmodules 删除项目目录下.gitmodules文件中子模块相关条目
vi .git/config 删除配置项中子模块相关条目
rm .git/module/* 删除模块下的子模块目录,每个子模块对应一个目录,注意只删除对应的子模块目录即可
执行完成后,再执行添加子模块命令即可,如果仍然报错,执行如下:
git rm --cached 子模块名称
完成删除后,提交到仓库即可
git-submodule子模块的添加、使用和删除的更多相关文章
- git中submodule子模块的添加、使用和删除
git中submodule子模块的添加.使用和删除 原文链接:https://blog.csdn.net/guotianqing/article/details/82391665背景项目中经常使用 ...
- Git submodule - 子模块【转】
子模块 有种情况我们经常会遇到:某个工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想在一个项目中使 ...
- Git submodule 子模块的管理和使用
因为代码分了两个小组管理,一部分代码使用跨平台语言实现,一部分使用原生实现. 所以使用Git submodule 来进行管理. 1,查看/更新 子模块 $ git submodule add ssh: ...
- git submodule 子模块
### 背景:为什么要用子模块? 在开发项目中可能会遇到这种问题:在你的项目中使用另一个项目,也许这是一个第三方开发的库,或者是你独立开发的并在多个父项目中使用的.简单来说就是A同学开发了一个模块,被 ...
- Git 子模块:git submodule
imtianx 2018年03月08日阅读 2057 Git 子模块:git submodule 工作中,可能会遇到在一个Git仓库 中添加 其他 Git 仓库的场景.比如,在项目中引用第三方库.或者 ...
- git submodule使用的笔记
git submodule 子模块的应用: 以下为使用流程的一些笔记: 1. 首先你的工作区 mainPJ cd mainPJ git init echo "this is mainPJ&q ...
- 在SourceTree中使用Git submodule
在開發的過程中我們的項目可能會引用其他的版本庫中的代碼, 例如公司已經累積了一套公用的函式庫, 被多個項目調用; 很顯然地, 不能把公用函式庫的文件直接放到我們開發中的項目中, 這樣不但項目的冗餘, ...
- git submodule添加、更新和删除
添加 git submodule add <url> <path> url:替换为自己要引入的子模块仓库地址 path:要存放的本地路径 执行添加命令成功后,可以在当前路径中看 ...
- 转:Git Submodule管理项目子模块
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...
- Git Submodule管理项目子模块
使用场景 当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能. 常用命令 git clone ...
随机推荐
- xUnit测试的顺序执行总结
cmliu 1,演示环境:windows 10企业版+Visual Studio 2019:.NET Core3.1:xUnit 2.4.1:.NET Standard 2.0.3 3,场景描述:前几 ...
- [Java并发编程之美]第2章 并发编程的其他基础知识 补充知识
基本概念 并行与并发 并行:单位时间内多个任务同时执行(多核CPU). 并发:同一时间段内多个任务同时都在执行(CPU时间片轮转). 线程安全性问题 线程安全问题:指多个线程同时读写一个共享资源而没有 ...
- Bootstrap学习第一天
听说bootstrap很火,页面做的非常好看,今天我决定开始学习bootstrap. bootstrap是一种响应式前端技术,可以用于构建适应多种设备的网站页面,当页面尺寸变化时会根据变化的尺寸适应设 ...
- VC 编译 MATLAB 的 mex 文件
VC 编译 MATLAB 的 mex 文件mex 文件是 MATLAB 调用其他程序设计语言程序或算法的接口.在 Windows 环境中,mex 文件是扩展文件名为 DLL 的动态链接库,可以在 m ...
- three.js学习4_光源
Three.Light 首先展示的是使用半球光引用的效果, 光源直接放置于场景之上,光照颜色从天空光线颜色颜色渐变到地面光线颜色.光照主要有 AmbientLight 环境光 DirectionalL ...
- php判断请求方式
1 /** 2 * 判断是否为get请求 3 * 4 * @return bool 5 */ 6 function is_get():bool 7 { 8 return $_SERVER['REQUE ...
- redis命令执行复现
攻击机:centos mini 192.168.205.130 靶机:centos 192.168.205.128 影响范围:Redis4.x.5.x 0x01 安装redis包 wget downl ...
- 请求转发和重定向实现与Ajax实现表单登陆
private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException ...
- Python3 环境搭建 保姆式 详细教程!真手把手教学!
本文我们将向大家介绍如何在本地搭建 Python3 开发环境. Python3 可应用于多平台包括 Windows.Linux 和 Mac OS X. Unix (Solaris, Linux, Fr ...
- Centos-进程运行状态-ps
ps 显示系统进程在瞬间的运行状态 相关选项 -a 显示所有用户的进程,包含每个程序的完整路径 -x 显示所有系统程序,包括那些没有终端的程序 -u 显示使用者的名称和起始时间 -f 详细显示程序执 ...