gpt4 book ai didi

git - git 中的依赖项

转载 作者:太空狗 更新时间:2023-10-29 14:47:40 24 4
gpt4 key购买 nike

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

  1. 在我的桌面上进行更改
  2. 测试 file:///path/to/folder 在我的浏览器,并根据需要添加/提交/更改
  3. 当我开心的时候, push 到原点,我已将其设置为 EC2 实例,其中提交后钩子(Hook)更新工作树

我想使用 MathJax在我的网站上显示数学方程式,但 MathJax 文件夹是 128Mb,而我项目的其余部分总共只有 1Mb。此外,MathJax/包含许多小文件,并且(自从它进入我的工作树以来)像 git add 和 git status 这样的操作运行得非常慢——我假设是因为 git 必须单独检查每个文件的状态。

我很想在添加 MathJax/之前 git reset --hard 提交,从我的 git repo (.gitignore) 中排除 MathJax 文件夹,然后手动将它添加到我的网络服务器,因为我不会定期更改 MathJax,将其添加到存储库中似乎会为其他快速操作增加相当大的开销。再一次,这意味着我的 repo 不是一个独立的实体,这在概念上似乎是错误的——我知道当我下载一个看起来不错的新脚本或服务时我会感到多么沮丧,然后我必须在它之前找到十五个依赖项将运行。

显然,没有其他人会处理这个特定的 repo,但我还是想养成良好的习惯。在这种情况下,最佳做法是什么?大型依赖项是否应该包含在 repo 协议(protocol)中?如果没有,引用它们的最佳方式是什么 - README.md?

最佳答案

引用 git 书:

It often happens that while working on one project, you need to use another project from within it. Perhaps it’s a library that a third party developed or that you’re developing separately and using in multiple parent projects. A common issue arises in these scenarios: you want to be able to treat the two projects as separate yet still be able to use one from within the other.

您需要使用称为子模块的 git 功能。它是另一个 git 存储库中的一个 git 存储库。查看Git bookman pages了解详情。

其他选项是 git subtree(不要与子树 merge 混淆)。它在 git 版本 1.7.11 及更高版本中可用。一篇很好的博客文章描述了子树的使用:https://blogs.atlassian.com/2013/05/alternatives-to-git-submodule-git-subtree/

关于git - git 中的依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17104280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com