与submodule不同,subtree并不保留子仓库的独立性,而是将其与主仓库整合在一起。 二、使用场景 git submodule:适用于以下场景: 项目依赖管理:当主项目依赖于其他外部仓库或库时,可以使用子模块来管理这些依赖关系。 共享代码库:多个项目需要共享一些通用的代码库时,可以使用子模块来引入这些共享库。 git subtree:适用于以下
递归更新整个项目submodule:git submodule foreach git pull 删除子模块:git rm --cached subModulesA rm -rf subModulesA --recursive表示递归地克隆git_parent依赖的所有子版本库。 git subtree(子树合并) 上面介绍的git submodule是Git自带的原生功能,我们接下来将要介绍的git subtree则是由第三方开发者贡献的contr...
git clone 的时候可以 --recursive-submodules 来递归初始化 submodules,或者单独执行 git submodule init 和 git submodule update 可以体会到啥叫复用子项目代码的同时保留项目的独立性了么? 然后我们再来试试 git subtree: 还是这样一个项目: 我们用 subtree 的命令添加子项目: git subtree add --prefix=child ...
可以用 git subtree pull 和 git subtree push 单独提交和拉取子项目代码 git subtree pull 加一个 --squash 可以合并拉下来的 commit add 的时候会创建一个 commit,这是 push 的时候搜索 commit 的终点,你也可以用 git subtree split --rejoin 来单独生成一个这样的 commit 还有一点要注意,我用的 url 都是...
git submodule和git subtree都允许在一个项目中引入另一个项目,但它们之间存在一些差异。git submodule可以在子项目中保留独立性,通过在其目录中创建.git子目录,并在.gitmodules文件中记录url和保存路径。子项目可以通过独立执行git pull和git push进行更新,而父项目仅记录关联的commit变化,不会直接管理...
1 - 仓库共用(子仓库、子项目) 两种子仓库使用方式 git submodule(子模块) git subtree(子树合并) 从1.5.2版本开始,官方新增Git Subtree并推荐使用这个功能来替代Git Submodule管理仓库共用(子仓库、子项目) 2 - submodule 与 su
递归更新整个项目submodule:git submodule foreach git pull 删除子模块:git rm --cached subModulesA rm -rf subModulesA --recursive表示递归地克隆git_parent依赖的所有子版本库。 git subtree(子树合并) 上面介绍的git submodule是Git自带的原生功能,我们接下来将要介绍的git subtree则是由第三方开发者贡献的contr...
git submodule foreach git checkout master 1 切换到所有master分支上(ModuleB为ResourceEvaluate,暂时需要单独执行) 其余所有操作可单独在各个模块上执行。 subtreee 增加远程仓库并设置引用名,此步可省略,主要是为了简化后面的操作 git remote add ModuleA http://sifan.liu@scm.ModuleB.com/bitbucket/scm/nic/...
可以提高代码管理的效率,减少版本冲突和重复工作。此外,了解子模块与子树合并(subtree)的区别以及各自的优缺点也非常重要。尽管两者在某些方面具有相似性,但subtree在某些场景下提供了更灵活和直接的解决方案。熟悉这些工具的底层原理和使用场景,有助于更有效地利用Git进行项目管理和协作。
一个中大型项目往往会依赖几个模块,git提供了子库的概念。可以将这些子模块存放在不同的仓库中,通过submodule或subtree实现仓库的嵌套。 一、 submodule submodule:子模块的意思,表示将一个版本库作为子库引入到另一个版本库中: image-20200408224205125 1.引入子库 ...