git中的依赖关系

git中的依赖关系,git,Git,我正在通过git管理我自己的个人小网站,这更多的是作为一种学习体验,而不是这样做的真正好处。我的工作流程通常是: 在我的桌面上进行更改 测验file:///path/to/folder 在我的 浏览器,并根据需要添加/提交/更改 当我高兴的时候,推 到origin,我将其设置为一个EC2实例,其中一个post-commit 钩子更新工作树 我想在我的站点上显示数学公式,但是MathJax文件夹是128Mb,而我的项目的其余部分总共只有1Mb。此外,MathJax/包含许多小文件,而且由于它进入了

我正在通过git管理我自己的个人小网站,这更多的是作为一种学习体验,而不是这样做的真正好处。我的工作流程通常是:

在我的桌面上进行更改 测验file:///path/to/folder 在我的 浏览器,并根据需要添加/提交/更改 当我高兴的时候,推 到origin,我将其设置为一个EC2实例,其中一个post-commit 钩子更新工作树 我想在我的站点上显示数学公式,但是MathJax文件夹是128Mb,而我的项目的其余部分总共只有1Mb。此外,MathJax/包含许多小文件,而且由于它进入了我的工作树,像git add和git status这样的操作运行得非常慢——我认为这是因为git必须逐个检查每个文件的状态

我很想在添加MathJax/之前进行git重置,将MathJax文件夹从我的git repo.gitignore中排除,然后手动将其添加到我的Web服务器,理由是我不会定期更改MathJax,并且将其添加到repo似乎会为其他快速操作增加相当大的开销。再说一次,这意味着我的回购协议不是一个自包含的实体,这在概念上似乎是错误的——我知道当我下载一个看起来很美味的新脚本或服务时,我会感到多么沮丧,然后我必须在它运行之前找出15个依赖项

显然,没有其他人会参与这项回购协议,但我还是想养成良好的习惯。在这种情况下,最好的做法是什么?回购协议中是否应包含大型依赖关系?如果没有,最好的引用方式是什么-README.md?

引用git书籍:

在处理一个项目时,经常需要使用 它内部的另一个项目。也许这是一个图书馆 party开发的或您正在单独开发并在中使用的 多个父项目。在这些场景中会出现一个常见问题: 您希望能够将这两个项目视为单独的项目,但仍然可以 能够从一个内部使用另一个

您需要使用名为子模块的git特性。它是另一个git存储库中的git存储库。有关详细信息,请参阅或


另一个选择是git子树,不要与子树合并混淆。它在git版本1.7.11和更高版本中可用。这里有一篇很好的博客文章描述了子树的使用:

这听起来像是A的教科书案例。你完全正确-感谢你让我注意到这个功能,我以前从未听说过它!如果你能把它作为答复提交,我会接受的。