4

我希望所有项目文件(如源代码)成为存储库的一部分。为简单起见,所有工作都在开发分支上完成。此外,我想包括其他项目材料,如 pdf 文件。我不想将它们添加到开发分支。到目前为止,我想出了以下策略。

  • 策略 1 是创建一个单独的分支材料并添加 pdf。该分支与其父分支共享一些历史。
  • 策略 2 适应了第一种策略,但也会不时将材料分支的提交合并到开发分支中。(我不想要这个,它是皮塔饼。)
  • 例如,策略 3 是创建一个不共享源代码历史的孤立分支。
  • 策略 4 是遵循策略 1 或 3 并另外创建一个仅代表“主”存储库的材料分支的子模块。如果这是可能的,工作目录将同时显示开发分支和材料分支。

所有策略的缺点是当我签出另一个分支时,我无法访问工作目录中的文件。
如何在开发分支上工作,同时在工作目录中提供可用的材料?如果您更容易想象,材料也可以是文档


编辑:在阅读了Seth Robertson的回答后,我添加了策略 4 。

4

1 回答 1

2

好吧,您可以将 pdf 拆分到一个单独的存储库中,并使用gitslave或 git-submodules 之类的东西将两个项目链接在一起。

这个想法的一个扩展是,当使用 git-submodules(不是 gitslave)时,您可能实际上可以在不同的分支上创建“其他存储库”您的本地存储库(我不明白 git 是如何区分这一点的)从其他情况来看——如果您实际上使用相同的存储库而不是从上游主服务器克隆,则可能会出现锁定例外)。

当然,使用 git-submodules 您可能(或可能不会)在合并 pdf 存储库的 SHA 时遇到问题。gitslave 不会有这个问题。

于 2011-06-08T22:54:56.770 回答