删除子模块: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:适用...
submodule子仓库独立性高,耦合更低,但由于主仓库并不直接管理子仓库代码,导致每次相关代码变动都需要单独对主子两个项目进行git操作。 subtree 在主项目中是一个副本,而 submodule 是在主项目是一个子仓库的引用或链接地址。 Git-repo 命令 刚刚说的公共组件是必须要完整的应用到各个项目中使用,那么实际场景是:如果...
submodule可以一起clone出来,只需添加--recursive递归参数就可以了,而subtree并不行,只能手动添加 个人使用submodule习惯了,所以天然觉得subtree复杂难用===难道就像用惯了intelliJ,就没有心思去用VScode了,哈哈! 有人对 submodule 和 subtree 的区别做的一个总结还是挺形象的:submodule is link; subtree is copy。 ...
使用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中,要引用另一个项目可以使用两种方式:子模块(submodule)和子树(subtree)。 方法一:使用子模块(submodule) 1. 在主项目的目录下使用命令 `git submodule add <仓库地址> <路径>` 添加子模块。比如: “` git submodule addhttps://github.com/user/repo.gitsub-repo ...
git subtree不需要你的仓库的用户学习任何新东西。他们可以忽略你使用git subtree来管理依赖关系的事实。 git subtree不会像 git submodule 那样添加新的元数据文件(即.gitmodule)。 模块的内容可以被修改,而不需要在其他地方有单独的依赖关系的仓库副本。
当项目越来越庞大之后,不可避免的要拆分成多个子模块,我们希望各个子模块有独立的版本管理,并且由专门的人去维护,这时候我们就要用到git的submodule功能和Subtree功能。 首先明确,父项目和子项目没有实际关系,他们就是各自完全独立的两个git仓库而已。只是父项目中需要用到子项目。所以父项目和子项目的管理是分开进行...
简介:「译文」使用 submodule 和 subtree 管理 Git 项目 👉️URL:https://opensource.com/article/20/5/git-submodules-subtrees ✍️Author: Manaswini Das (Red Hat) 📝Description: submodule 和 subtree 帮助您管理跨多个存储库的子项目。