【问题标题】:Keeping lilypond scores separate from each other in Git在 Git 中保持 lilypond 分数彼此分开
【发布时间】:2019-07-28 18:34:10
【问题描述】:

我的爱好是作曲和编曲,使用 Sibelius 进行初步起草和制作音频,使用 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,然后我将在其自己的(score_title)-dev 分支中分别处理每个乐谱,一旦我有一个可打印的草稿,例如,为每个部分推送到master。不过,当我在项目之间切换时,我发现将 dev 分支合并到 master 会变得很混乱。

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

【问题讨论】:

  • "push to master" 你的意思是合并到master吗?您不能将 dev 分支推送到 master。好吧,也许你可以,但你最好不要。
  • 不,远离子模块等。远离。
  • 关于第一条评论,是的。我至少校对了两次,那肯定是滑倒了。是的,我的意思是合并。至于你的第二个,我就是这么想的
  • 回想起来,我不太清楚你为什么发现将dev 分支合并到master 中很乱。如果每个dev 分支真的只专注于一个单独的目录,我希望这些分支的合并相对轻松,不会导致合并冲突。话虽如此,对于个人项目,我尽可能地接近主分支,因为我通常不需要额外分支提供的功能(除非我正在尝试一些可能会破坏我的 repo 中所有内容的东西,例如)。我认为一个或多个回购在这里可以正常工作。

标签: git lilypond


【解决方案1】:

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

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

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

【讨论】:

  • 所以最好的方法是在我的本地计算机上拥有一个scores 目录,但是对于第二级中的所有内容都有一个 git repo(参考 OP 中的图表)?
  • 我不能同意这一点。我在同一个存储库中有数百个不同的 iOS 应用程序项目,它们不会“搞乱合并推送”。
  • @harmonica141 感谢您的回答。我进行了一些挖掘,发现了 GitHub 的主题功能以及语言过滤器(之后我确实提到了我的经验不足)。这些对我来说已经足够好了。当然,简单的答案被证明是最好的
  • @harmonica141 我有大约 100 首音乐的数据存储在一个 git 存储库中,但我希望我为每个存储库创建一个单独的存储库。每首音乐实际上都是一个单独的“项目”:例如,要合作创作一首音乐,您只想分享这首音乐,而不是您曾经写过的所有音乐。而且我希望每首音乐都有一个干净的提交历史。也许,有一天,我会为每首歌曲使用一个 repo(但是保存提交历史呢?哎呀!)
猜你喜欢
  • 2021-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多