Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Git中保持lilypond分数彼此独立_Git_Lilypond - Fatal编程技术网

在Git中保持lilypond分数彼此独立

在Git中保持lilypond分数彼此独立,git,lilypond,Git,Lilypond,我以创作和安排音乐为嗜好,使用西贝柳斯进行初步起草和制作音频,使用Lilypond排版最终副本。作为源代码,我将打印内容置于版本控制之下。注意,除了分支和合并等,我对Git还相当缺乏经验 我所有的分数都在这样的目录结构中: scores/ | -- some_score/ | | -- Makefile (makes/updates all PDFs) | | -- src/ | | | -- (all the ly files) | | -- prints/ |

我以创作和安排音乐为嗜好,使用西贝柳斯进行初步起草和制作音频,使用Lilypond排版最终副本。作为源代码,我将打印内容置于版本控制之下。注意,除了分支和合并等,我对Git还相当缺乏经验

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

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

我在根目录中运行了
git init
,我会在每个分数上分别使用自己的
(分数标题)-dev
分支,一旦我有了一个可打印的草稿,比如每个部分,我就会推到
master
。然而,当我在项目之间跳跃时,我发现将
dev
分支合并到
master
会变得混乱


我读了一些关于子模块的书,并考虑过它;我也读了一些关于子树的书,但是这些对我来说就更没有意义了。有没有一个干净的方法来管理这一切?我是否只需要修改我与分支机构的工作方式?

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

更好的方法:每个分数使用一个存储库。如今,Github上的私人回购协议是免费的,因此不会增加成本因素,每个项目都可以有一个干净的提交历史


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

“推到主模块”是指合并到主模块吗?不能将开发分支推送到主节点。好吧,也许你可以,但你最好不要。不,离子模块远点等等。离远点。关于第一条评论,是的。我至少校对了两次,那一定是错了。是的,我是说合并。至于你的第二个分支,这就是我想的。回头看,我不太清楚为什么你会发现将
dev
分支合并到
master
中会很混乱。如果每个
dev
分支实际上只专注于一个单独的目录,那么我希望合并这些分支会相对轻松,不会导致合并冲突。也就是说,对于个人项目,我尽可能地与主分支机构保持密切联系,因为我通常不需要额外分支机构提供的权力(除非我正在尝试一些可能破坏回购协议所有内容的东西)。我认为一个或多个回购协议在这里可以很好地工作。所以最好的方法是在我的本地计算机上有一个
scores
dir,但是第二级的所有东西都有一个git回购协议(参考OP中的图表)?我不同意这一点。我在同一个存储库中有数百个不同的iOS应用程序项目,它们不会“打乱合并推送”。@harmonica141感谢您的回答。我做了一些挖掘,发现了GitHub的主题功能,以及语言过滤器(之后我确实提到了我的经验不足)。这些对我很有用。当然,简单的答案是best@harmonica141我有大约100首音乐的数据存储在一个git回购中,但我希望我已经为每首音乐创建了一个单独的回购。每一段音乐实际上都是一个单独的“项目”:例如,要在一段音乐上进行协作,您只想共享一段音乐,而不是您所创作的所有音乐。我希望每首音乐都有一个完整的历史记录。也许,有一天,我会移动到每首歌一个回购(但什么是历史?eek!)