删除子模块:git rm --cached subModulesA rm -rf subModulesA --recursive表示递归地克隆git_parent依赖的所有子版本库。 git subtree(子树合并) 上面介绍的git submodule是Git自带的原生功能,我们接下来将要介绍的git subtree则是由第三方开发者贡献的contrib script,Git本身并不提供git subtree命令,contrib中包含一...
与submodule不同,subtree并不保留子仓库的独立性,而是将其与主仓库整合在一起。 二、使用场景 git submodule:适用于以下场景: 项目依赖管理:当主项目依赖于其他外部仓库或库时,可以使用子模块来管理这些依赖关系。 共享代码库:多个项目需要共享一些通用的代码库时,可以使用子模块来引入这些共享库。 git subtree:适用...
使用git submodule 相比git subtree, 对于刚刚的项目场景,还可以使用 git submodule 命令,这里我们简单提一提就可以了,使用方式比较简单。 git submodule的概念是:将一个仓库作为一个子模块添加到另一个仓库中,作为一个特殊的文件类型,只记录子仓库的提交哈希值。其优点是:可以在父仓库中修改子仓库的代码,可以在子...
git submodule add git@xxx.git //自动生成.gitmodule和git-submodule文件夹 //如果是直接从git第一次更新整个包里面带有submodule的,把包拉下来之后submodule里面是没有内容的, //需要单独再拉一次里面的submodule git submodule update --init --recursive //remote的submodule如果更新了,先从remote更新到本地,然后...
使用git init --bare在本地创建两个裸仓库,分别表示主仓库和依赖的子仓库,我们将主仓库命名为main,依赖的子仓库命名为lib, git subtree使用同样的初始化方法,下文不再赘述。 git submodule常用命令 查看子模块:git submodule 更新子模块: 更新项目内子模块到最新版本:git submodule update ...
git subtree add --prefix=child git@:QuarkGluonPlasma/git-research-child.git main 1. 这样和 submodule 有什么区别呢? 不知道你有没有发现,child 目录下是没有 .git 的,这代码它不是一个单独的 git 项目,只是一个普通目录: 所以你在这个目录下的任何改动都可以被检测到: ...
git subtree不会像 git submodule 那样添加新的元数据文件(即.gitmodule)。 模块的内容可以被修改,而不需要在其他地方有单独的依赖关系的仓库副本。 缺点(但在我们看来,这些缺点基本可以接受)。 你必须学习新的合并策略(即git subtree)。 为子项目向上游贡献代码稍显复杂。
首先clone父项目,再初始化submodule,最后更新submodule。初始化只需要做一次,之后每次update就可以了。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 git clonecdgit submodule init git submodule update 这种方法,较为繁琐Git又为我们提供了另外一个方法 代码语言:javascript...
git submodule [--quiet] [--cached] #查看子模块的缓存 git submodule [--quiet] add [<options>] [--] <repository> [<path>] #添加子模块 git submodule [--quiet] status [--cached] [--recursive] [--] [<path>…] #查看当前子模块的状态 ...
在选择git submodule或git subtree时,需要考虑项目的耦合度和对独立性的需求。git submodule提供较低的耦合度和更明显的独立性管理,而git subtree则更偏向于将子项目无缝集成到父项目中,同时保留独立的git仓库管理。根据项目的实际需求和偏好,可以选择适合的工具来管理git项目中的子项目。