DRY 原则是程序世界的基本原则之一,我们每个人在工作中都不可避免的会复用别人的代码,有可能是某个开源项目,也有可能是公司里其他团队提供的模块。Git 是最流行的现代化代码版本控制工具,为了支持模块的复用,Git 引入了 submodule 的概念,通过这篇文章,你会理解什么是 git submodule 以及在项目中如何应用。原文:Understanding and Working with Submodules in Git[1]
在开发中可以使用
git submodule add github.com/sss/xxxx.gi…
来将某一个第三方库集成到自己的项目中, 这一般在公司中用的比较多, 比如公司比较成熟的一些库和工具,这样能达到复用的效果
今日在公司开发过程中也集成了这个git子模块, 不过在修改git子模块的时候并不顺利, 就是更新了子模块的代码之后(虽然这种概率很小, 毕竟它是公共的工具, 一般都会封装的比较好, 所以多数情况下无需修改, 怎奈何 发现一个错别字, 身有强迫症的我, 必须给他改了, 嘿嘿嘿~)
后来问题解决了, 能把代码更新的第三方库中, 具体步骤如下
-
在子目录 git add .
-
在子目录 git commit -m "什么情况"
-
在子目录 git push
在这一步出了一点问题, 在我推代码的时候, git提示'# fatal: You are not currently on a branch.To push the history leading to the current (detached HEAD', 经过上网查资料得到解决方法:
从分离的HEAD创建一个临时分支,然后将该[分支合并]到`master。` 具体步骤为: 1. `git branch temp-branch` 2. `git checkout master` 3. `git merge temp-branch` 4. `git push origin master` //问题顺利解决
最后在父项目执行 git add . , git commit -m "git子库修改", git push