如果我将一个 repo 克隆到现有的 git repo 中,我会遇到任何问题吗?
为了简化起见,我正在开发一个库“lib/”,它应该可用于我的所有项目。这是一个单独的 git 存储库。我想将这个 lib/ 导入到我所有的项目中,并且只在一个地方更新它,永远不要从任何项目中触及它,只需使用它。
我假设这没问题,只是想知道是否有什么我应该注意的。谢谢!
如果我将一个 repo 克隆到现有的 git repo 中,我会遇到任何问题吗?
为了简化起见,我正在开发一个库“lib/”,它应该可用于我的所有项目。这是一个单独的 git 存储库。我想将这个 lib/ 导入到我所有的项目中,并且只在一个地方更新它,永远不要从任何项目中触及它,只需使用它。
我假设这没问题,只是想知道是否有什么我应该注意的。谢谢!
只是为了记录,您可以在另一个中克隆一个 git 存储库:
您lib
目录下的所有内容都将被封闭的 Git 存储库忽略,因为所述 lib 目录包含一个.git
.
所以它会起作用,但封闭的回购不知道:
lib
来自另一个仓库的目录lib
才能正确构建,即使它会记录嵌套lib
repo 树的 SHA1。(这是一个gitlink,父仓库索引中的一个特殊条目)lib/
”文件夹。这些(repo URL 和 repo SHA1)正是父repo(封闭的)记录的两个信息,以便引用submodule。
它使您可以访问您的存储库中另一个存储库的固定修订版,但正如“子模块的真实性质”中所述,这并不妨碍您lib
直接在您的父存储库中进行本地修改。
(只要您lib
首先提交修改,然后在您的父仓库中上一级,并在那里提交)
您的主项目的任何贡献者的主要好处是,当他们将克隆所述项目时,lib
如果将其声明为子模块,他们将知道他们也需要(如“ Git Submodule Workflow Advice ”中所述)。
如果您没有太多经验,我发现遵循本教程有助于理解子模块。
http://help.github.com/submodules/
https://chrisjean.com/git-submodules-adding-using-removing-and-updating/