与submodule不同,subtree并不保留子仓库的独立性,而是将其与主仓库整合在一起。 二、使用场景 git submodule:适用于以下场景: 项目依赖管理:当主项目依赖于其他外部仓库或库时,可以使用子模块来管理这些依赖关系。 共享代码库:多个项目需要共享一些通用的代码库时,可以使用子模块来引入这些共享库。 git subtree:适用...
删除子模块:git rm --cached subModulesA rm -rf subModulesA --recursive表示递归地克隆git_parent依赖的所有子版本库。 git subtree(子树合并) 上面介绍的git submodule是Git自带的原生功能,我们接下来将要介绍的git subtree则是由第三方开发者贡献的contrib script,Git本身并不提供git subtree命令,contrib中包含一...
4- submodule gitclone<repository> --recursive# 递归的方式克隆整个仓库,包含父仓库和子仓库的内容gitsubmoduleadd<repositoryaddress><path># 添加子仓库gitsubmoduleinit# 初始化子仓库,向.git/config文件写入子模块的信息gitsubmoduleupdate# 更新子仓库,拉取父仓库中对应子仓库的提交id内容到到父仓库目录gitsubmodule...
当你想一个项目加入到另一个项目里来复用,并且还有保持这个项目可以作为独立 git 仓库管理的时候,就可以用 git submodule 或者 git subtree 了。 git submodule 会把子项目作为独立 git 仓库,你可以在这个目录下 pull、push、add、commit,父项目只记录着关联的 commit 是啥,并不关心子项目的具体变动。 git subtre...
git subtree add --prefix=child git@:QuarkGluonPlasma/git-research-child.git main 1. 这样和 submodule 有什么区别呢? 不知道你有没有发现,child 目录下是没有 .git 的,这代码它不是一个单独的 git 项目,只是一个普通目录: 所以你在这个目录下的任何改动都可以被检测到: ...
第十讲:Git子库:submodule与subtree 前言 一个中大型项目往往会依赖几个模块,git提供了子库的概念。可以将这些子模块存放在不同的仓库中,通过submodule或subtree实现仓库的嵌套。 一、 submodule submodule:子模块的意思,表示将一个版本库作为子库引入到另一个版本库中: ...
subtree操作更方便,但耦合更高。 submodule子仓库独立性高,耦合更低,但由于主仓库并不直接管理子仓库代码,导致每次相关代码变动都需要单独对主子两个项目进行git操作。 subtree 在主项目中是一个副本,而 submodule 是在主项目是一个子仓库的引用或链接地址。 Git-repo 命令 刚刚说的公共组件是必须要完整的应用到各个...
在选择git submodule或git subtree时,需要考虑项目的耦合度和对独立性的需求。git submodule提供较低的耦合度和更明显的独立性管理,而git subtree则更偏向于将子项目无缝集成到父项目中,同时保留独立的git仓库管理。根据项目的实际需求和偏好,可以选择适合的工具来管理git项目中的子项目。
git submodule foreach git checkout master 1 切换到所有master分支上(ModuleB为ResourceEvaluate,暂时需要单独执行) 其余所有操作可单独在各个模块上执行。 subtreee 增加远程仓库并设置引用名,此步可省略,主要是为了简化后面的操作 git remote add ModuleA http://sifan.liu@scm.ModuleB.com/bitbucket/scm/nic/...
Subtrees vs Submodules 最简单理解两者的方式,subtrees在父仓库是拉取下来的一份子仓库拷贝,而submodule则是一个指针,指向一个子仓库commit。 这两者的差别意味着,不需要推送更新到submodule因为我们直接提交更新到它指向的子仓库,但推送更新到subtree则显得比较复杂,因为父仓库没有子仓库相关的历史信息。