首页 > 解决方案 > 在 Git 中保持 lilypond 分数彼此分开

问题描述

我将作曲和编曲作为一种爱好,使用 Sibelius 进行初始起草和制作音频,使用 Lilypond 排版最终副本。作为源代码,我将打印件置于版本控制之下。请注意,除了分支和合并等之外,我对 Git 相当缺乏经验。

我的所有分数都在这样的目录结构中:

scores/
| -- some_score/
|    | -- Makefile (makes/updates all PDFs)
|    | -- src/
|    |    | -- (all the ly files)
|    | -- prints/
|    |    | -- (all the PDFs)
| -- other_score/ (similar structure)

ETC...

git init在根目录中运行,我会在其自己的(score_title)-dev分支中分别处理每个乐谱,master一旦我有一个可打印的草稿,比如每个部分。但是,当我一直在项目之间跳转时,我发现将dev分支合并到其中master会变得混乱。

我读了一些关于子模块的文章并考虑过;我还阅读了一些关于子树的内容,但这些对我来说更没有意义。有没有一种干净的方法来管理这一切?我只需要修改我与分支机构的合作方式吗?

标签: gitlilypond

解决方案


您遇到这些问题是因为您稍微滥用 git 作为 Dropbox:将所有项目放在一个存储库中会导致在某个时间点搞乱合并。

更好的方法:每个分数使用一个存储库。如今,Github 上的私有仓库是免费的,因此不会增加成本因素​​,并且每个项目都可以拥有自己的干净提交历史。

此处不应使用子模块,因为它们的用途完全不同。


推荐阅读