我是版本控制的新手,但我很快发现 Git 是管理我的作品集的好方法。这是一个稍微不寻常的用例,所以我有一个问题,关于 Git 的哪个功能最能帮助我管理“收集的”作品(即整个集合)和管理“选定的”作品(即集合的子集) )。
例如,我有一个包含 200 个 .txt 文件的存储库。每一个都是一首诗的文本。现在,我想留出其中的 20 个文件,例如,用于创建手稿。当我处理这 20 个文件并将它们视为一个组时,我可能会对它们进行更改。当然,我希望这些更改能够反映在我所有 200 个文件的“主”存储库中。
我已经看到了多种可能适用于此的方法,但我很困惑。
- 我尝试的第一件事是一个充满符号链接的子文件夹。这很可爱,直到我意识到 Windows 上的 Git 不能很好地处理符号链接。
- a
branch
可以很好地处理这个问题,在merge --strategy ours
- 我可能更喜欢一个
submodule
,因为它可以让我单独跟踪手稿项目的问题,并保留一个相关的 wiki,作为 bitbucket 或任何地方的项目。它还可能使协作变得更容易。但是,我听说子模块存在缺陷。这些对我来说会是个问题吗? - 然后是
subtree
. 对于我的想法,这会是更好的方法吗?子树或子模块可以使用我喜欢的分支合并策略吗? - 还有其他可能更好的方法需要考虑吗?