tl; dr:git或Mercurial是否会在项目版本化方面遇到问题,这些项目包含一些经常更改的小文件和许多可以更改但很少会发生的大文件?
我使用Logic Pro编写音乐,并且我考虑从现在开始使用版本控制软件和我的项目。我发现了一个关于使用Mercurial和Logic(https://video.stackexchange.com/questions/5148)的SE问题,但是我想更多地使用git(因为我需要为我的工作学习它,所以额外的练习会很好)。 git是用于版本化Logic项目的有效工具,还是会遇到Mercurial不会遇到的问题?
这是逻辑项目目录的样子:
答案 0 :(得分:2)
Git会像Mercurial一样做到这一点。
我不知道Logic Pro,但是根据你所说的文件格式,增量存储可能效果不好,在最坏的情况下,git基本上必须存储每个文件的每个版本。您可以自己进行数学计算,然后估算存储要求,并确定是否可以。 (但是,当仅更改未压缩音频文件的某些部分时,您可能会节省一些费用......)
显然,你不会得到任何可用的差异和合并,这可能会在你与他人合作时出现问题,但我不知道这是否是一个问题。
答案 1 :(得分:2)
Git 主要可以正确处理 Logic Pro X 项目,但您需要注意以下几点:
顶级包文件夹本身的扩展属性可能不会保留,因此您可能希望将项目保存为文件夹而不是包。
您可能希望将 Freeze Files
、Bounces
和 *.nosync
添加到您的 .gitignore
。
某些内部文件命名约定将导致无法从 Windows 系统检出项目。这对于在您自己的计算机上对您自己的项目进行版本控制不会有问题,但如果您已将 Logic 项目签入属于更大事物(例如游戏)的一部分的存储库,这可能会给其他人带来问题。>
如果您的存储库使用 LFS,最好使用它注册 *.aif
和(可能)*.wav
,以及保存到逻辑项目。这将使签出新副本变得更加容易,尤其是从特别大的项目中(因为 git
可能会遇到非常大的包文件的问题)。
如果您从多台计算机或分支编辑项目,您几乎肯定会在自动保存数据中出现合并冲突,因此您可能也希望.gitignore
。
另一方面,您通常完全不需要担心原始录音会发生变化; Logic 的大多数音频编辑本质上都是非破坏性的,只会修改引用原始文件的元数据,而不是修改文件本身。我所知道的唯一例外是应用在音频编辑器“文件”选项卡上的音频编辑功能(例如标准化、更改增益、反向、时间和音调机等)。从“Track”和“Smart Tempo”选项卡应用的函数仅编辑元数据,不应导致 git 中发生大的差异。
答案 2 :(得分:0)
我在 Logic 中使用 https://splice.com/ 进行版本控制和远程协作项目。它在代码方面不如 GitHub 强大,但它直接与 Logic 集成,并在您保存副本时自动更新版本。它不处理合并,因此您必须与其他音乐家就谁在何时进行编辑进行协调。如果出现任何问题,返回旧版本也很容易。