首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Git Submodules 介绍(通俗易懂,总结了工作完全够用 submodule 命令

一些技术博客写很详细,但不适合新人学习。官方文档很全面,适合了解详细命令,但主次不分明。本文会根据我大量 submodules 实践经验(包括工作和个人开发),解释常用命令。...(仓库地址) src/B(你希望 submodule 位于文件夹路径)submodule 父子关系存在哪里关系是保存在主项目的 Git 仓库。...我们可以进入B文件夹cd B,你会发现在B,也可以执行git status命令,此时git命令都会是针对仓库B,你可以在这里切换分支、提交更新,这时候,提交都是submodule变更。...图片下面是git diff:图片如何在主项目仓库,拉取 submodule 更新方法一,cd submodulegit pull在 submodule ,所有git操作就当作一个普通 Git...使用以下命令git submodule update --init [submodule文件夹相对路径]注意顺序,--init跟[submodule文件夹相对路径]位置不可以调换噢。

13.3K135
您找到你想要的搜索结果了吗?
是的
没有找到

Git 总结

情景1: 拥有对子模块远程仓库权限,直接修改子模块路径文件 本地开发调试子模块结束后, 进入子模块路径 add, commit, push, 然后主项目 git add 子模块路径,git commit..., .git/config submodule 信息 git submodule add # 此时确定 commit 引用 # PS: git submodule init...--recursive 添加子仓库 git submodule add 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下路径。...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) 命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”文件,其中记录了子模块信息。...// 初始化本地配置文件 $ git submodule init // 检出父仓库列出commit $ git submodule update 或者是执行以下命令(该命令效果等同于上面两个命令

1K40

git submodule来管理独立git子目录

幸运是,万能Git有个叫子模组(git submodule)命令完美地帮我们解决了这个问题。...添加子模块 为当前工程添加submodule命令如下: git submodule add 仓库地址 路径 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下路径。...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) 命令执行完成,会在当前工程根路径下生成一个名为“.gitmodules”文件,其中记录了子模块信息。...下载工程带有submodule 当使用git clone下来工程带有submodule时,初始时候,submodule内容并不会自动下载下来,此时,只需执行如下命令git submodule...更新submoduleURL 1.更新.gitsubmodule对应submodule条目URL 2.更新 .git/config 对应submodule条目的URL 3.执行 git submodule

1.9K20

git submodule 添加、使用和删除

项目中经常使用别人维护模块,在git中使用子模块功能能够大大提高开发效率,本文主要讲解子模块相关基础命令,详细使用请参考man page。...子模块添加 命令如下: git submodule add 其中: url为子模块路径 path为该子模块存储目录路径。...执行成功后,git status会看到项目中修改了.gitmodules,并增加了一个新文件(为刚刚添加路径git diff --cached查看修改内容可以看到增加了子模块,并且新文件下为子模块提交...需要在项目根目录执行如下命令完成子模块下载: git submodule init git submodule update 或: git submodule update --init --recursive...删除配置项中子模块相关条目 rm .git/module/* 删除模块下子模块目录,每个子模块对应一个目录,注意删除对应子模块目录即可 执行完成后,再执行添加子模块命令即可,如果仍然报错

83100

7.11 Git 工具 - 子模块

默认情况下,子模块会将子项目放到一个与仓库同名目录,本例是 “DbConnector”。 如果你想要放到其他地方,那么可以在命令结尾添加一个不同路径。...在 git status 输出列出另一个是项目文件夹记录。...拉取上游修改 在项目中使用子模块最简模型,就是使用子项目并不时地获取更新,而并不在你检出中进行任何更改。 我们来看一个简单例子。...如果你没有提交子模块改动,那么运行一个子模块更新也不会出现问题,此时 Git抓取更改而并不会覆盖子模块目录未保存工作。...那些改动存在于我们本地拷贝。 为了确保这不会发生,你可以让 Git 在推送到主项目前检查所有子模块是否已推送。

1.4K20

Git 常用命令清单笔记

新建仓库 init git init #初始化 status git status #获取状态 add git add file # .或*代表全部添加 git rm --cached <added_file_to_undo...rsync://example.com/path/to/repo.git/ submodule git submodule add --force 仓库地址 路径 其中,仓库地址是指子模块仓库地址,路径指将子模块放置在当前工程下路径...注意:路径不能以 / 结尾(会造成修改不生效)、不能是现有工程已有的目录(不能順利 Clone) git submodule init 初始化submodule git submodule update...更新submodule(必须在根目录执行命令) 当使用git clone下来工程带有submodule时,初始时候,submodule内容并不会自动下载下来,此时,只需执行如下命令git...alias.ci commit 配置好后再输入git命令时候就不用再输入一大段了,例如我们要查看状态,只需: git st 其它 git help * # 获取命令帮助信息 git status

71430

windows下git安装和使用

首次使用,不懂如何操作,可以输入git命令,或者git help命令或者git help -a(git help -g)命令来查看git提供了哪些命令。如下图: ? 这里截图了部分命令。...src/main/webapp/ui-libs 初始化子模块:$ git submodule init  ----在首次检出仓库时运行一次就行 更新子模块:$ git submodule update...,每个元素占一行即可,如 target bin *.db ===================== Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态...git rm 文件名(包括路径) 从git删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --...a.a 移除文件(从暂存区删除) git commit -m "remove" 移除文件(从Git删除) git rm -f a.a 强行移除修改后文件(从暂存区和工作区删除) git

1.3K20

GIT版本控制】--子模块

以下是创建和管理 Git 子模块基本步骤: 添加子模块:在父仓库根目录,使用以下命令添加子模块: git submodule add 其中,仓库URL 是子模块仓库...URL,路径 是子模块在父仓库相对路径。...初始化子模块:运行以下命令来初始化子模块: git submodule init 这将初始化父仓库子模块配置。...提交子模块更改:在子模块仓库中进行更改后,需要提交这些更改并推送到远程子模块仓库。 TIP:父仓库保存了子模块引用,子模块本身内容存储在子模块仓库。...将父仓库子模块配置文件(如 .gitmodules)纳入版本控制,以确保每个人都有相同子模块配置。 定期更新子模块: 定期更新子模块以获取最新更改。

34330

Git必备命令-子模块

// 初始化子模块 git submodule update // 更新子模块与主仓库子模块代码同步 // or git submodule update --init // or 嵌套(子仓库包含子仓库...你必须运行两个命令git submodule init 用来初始化本地配置文件,而 git submodule update 则从该项目中抓取所有数据并检出父项目中列出合适提交。...如果给 git clone 命令传递 --recurse-submodules 选项,它就会自动初始化并更新仓库每一个子模块, 包括可能存在嵌套子模块。...例如,你想要 DbConnector 子模块跟踪仓库 “stable” 分支,那么既可以在 .gitmodules 文件设置 (这样其他人也可以跟踪它),也可以在本地 .git/config 文件设置...这点可通过 git status 命令看到,它会显示子模块“已修改”,且“有新提交”。

90020

使用Jenkins + git submodule 实现自动化编译,解决代码安全性问题

如果再进一步, 把这些模块都划分为一个小子系统,每个开发人员负责自己模块,并且只能有权限拉取自己代码,这样他就没法获取到一个项目中所有模块代码了。...不论如何,经过这篇文章,你可以学习、了解下面这几个方面的知识点: Jenkins 基本使用方法; git submodule 基本指令用法; 通过三个 demo 项目,一步一步操作实现代码安全管控...Jenkins 首先通过 git 工具获取远程仓库代码,然后执行用户指定编译指令。...需要手动获取所有的子模块,执行指令: git submodule update --init --recursive 此时,再使用 tree 命令看一下文件变化,可以看到 test1 和 test2...subtree直接把子模块代码拷贝到主模块,使用命令简单; submodule 使用是“指针”指向子模块,使用命令相对复杂一些,功能也更强大; 4.

2K20

Git 常用命令大全

)相关操作命令 添加子模块:$ git submodule add [url] [path]    如:$git submodule add git://github.com/soberh/ui-libs.git...src/main/webapp/ui-libs 初始化子模块:$ git submodule init  ----在首次检出仓库时运行一次就行 更新子模块:$ git submodule update...,每个元素占一行即可,如 target bin *.db ===================== Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态  git...文件名(包括路径) 从git删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户...commit日志 git diff 查看尚未暂存更新 git rm a.a 移除文件(从暂存区和工作区删除) git rm --cached a.a 移除文件(从暂存区删除) git commit

47100

Git常用命令

)相关操作命令 添加子模块:$ git submodule add [url] [path] 如:$git submodule add git://github.com/soberh/ui-libs.git...src/main/webapp/ui-libs 初始化子模块:$ git submodule init ----在首次检出仓库时运行一次就行 更新子模块:$ git submodule update...,每个元素占一行即可,如 target bin *.db ===================== Git 常用命令 git branch 查看本地所有分支 git status 查看当前状态 git...文件名(包括路径) 从git删除指定文件 git clone git://github.com/schacon/grit.git 从服务器上将代码给拉下来 git config --list 看所有用户...commit日志 git diff 查看尚未暂存更新 git rm a.a 移除文件(从暂存区和工作区删除) git rm --cached a.a 移除文件(从暂存区删除) git commit

1K60

gitsubmodule使用总结

老高最近项目用到了gitsubmodule,期间遇到了很多坑,比如: 如何更新submodule 如何修改并提交submodule 如何submodule变更在父项目中提交 在弄明白这些问题之前...其实父项目与子模块(submodule)之间关系很松散,父项目基本关心子模块地址以及版本(commit id)。...如何更新submodule 当clone项目时有子模块存在时,第一次是不会顺便clone出子模块,需要执行一些命令git clone xxx.git # 初始化子模块 git submodule...文件相关信息被删除 # 还有一种情况,就是子模块刚被add,但是还没有commit时候,这时如果反悔了,但是还想保留工作现场,可以这样。...git status # modified: xx/xxxx/xxxx (new commits) # add时候注意再最后不要加 / 斜杠,否则会出现很棘手问题 git add xx/xxxx

98150

Git Submodule简单使用

Git Submodule 近期用到了这个命令,主要是为了实现在一个git仓库,引入其他git仓库,这种适用于你想在主工程引入其他library库,主工程以submodule形式包含子工程,子工程可以有自己...修改Submodule 进入submodule. cd android 我这里submodule是android. 这时我修改了android工程里面的内容,git status一下: ?...提交submodule内容到远程: git add . git commit -m "嵌入React Native" git push 提交后,看下Submodule在主工程变更: cd .. git...在主工程根目录运行以下命令git submodule foreach git pull 还需要更新下submodule: cd android git pull ok,这样其他团队成员就能拉到最新工程代码啦...总结 关于如何在RN工程通过submodule方式引入android工程已经大致实操了一遍,还有clone submodule和remove submodule操作就不演示了,可以参考下面提供链接

62030

Git 中一个类似 Composer 工具(二) – Subtree

之前有说过另外一个 Git Submodule,两个作用基本类似 不过 Git Submodule 这是 Git 官方以前推荐方案。...> git subtree split --prefix= [OPTIONS] [] --prefix之后=等号也可以用空格 在父仓库中新增子仓库 例:执行以下命令git-submodule...添加到git-subtree 语法:git subtree add --prefix $ git subtree add --prefix git-submodule...git@github.com:sy-records/git-submodule.git master --squash --squash参数表示不拉取历史信息,而生成一条 commit 信息 执行git...# 推送到 git-subtree 仓库 $ git push 简化 git subtree 命令 我们已经知道了git subtree命令基本用法,但是上述几个命令还是显得有点复杂,特别是子仓库源仓库地址

72830
领券