使用Beanstalk / Github / Bitbucket中的Git进行FileMaker Pro版本控制?

时间:2015-01-30 19:06:58

标签: git github bitbucket filemaker elastic-beanstalk

我们目前使用Subversion进行FileMaker开发的版本控制,但我们开始探索转向Git。我们听说过一些关于人们在使用Git for FileMaker文件时遇到文件损坏的传言,但我无法找到任何真实来源。

是否有人使用Git进行FileMaker Pro文件的版本控制?除了需要在提交之前完全关闭文件之外,您有任何问题吗?

3 个答案:

答案 0 :(得分:6)

我已将Git和Subversion用于FileMaker文件的版本控制。 Chris对大小限制提出了一些好处,但是在使用git时有一些方法可以做到最好。

使用FileMaker

损坏版本控制文件

我怀疑谣言来自的文件损坏并非来自git用法,而是来自用户在使用git时如何与文件交互。

当您打开FileMaker文件时,FileMaker客户端将直接与二进制文件本身进行交互。在文件处于活动状态时,正在读取和写入数据和结构,因此如果您尝试在该过程中提交文件,则可能会导致损坏风险。 Git和Subversion的风险相同。

每当您使用FileMaker文件和版本控制时,您需要确保在提交之前关闭文件。您不一定需要关闭FileMaker,但需要关闭该文件。

此外,请确保文件真正关闭。您可以认为该文件已关闭,并且打开了隐藏或屏幕外窗口。转到窗口菜单,确保在提交之前关闭所有窗口。

文件大小

您绝对可以将git用于FileMaker文件,但如果您要推送到公共远程托管服务提供商,则会遇到这些大小限制。也就是说,如果你有自己的本地git服务器,那么大小也不是问题。

在存储库中处理大小时,最好的办法是将克隆提交到存储库。如果您在FileMaker Server中工作,则可以使用启用了克隆的备份计划来轻松地将其吐出。这也会导致打开文件问题,因为您将提交克隆备份,而不是活动文件。

这可能很痛苦,因为现在您的所有数据都不在文件中,并且FileMaker没有良好的内置自动化来重新输入数据,但是您可以构建一个运行来自您的导入的传输文件填充文件(版本控制之外)到克隆中(在版本控制中)。我们几乎为公司的每个项目都这样做。

当涉及到它时,在版本控制中跟踪的重要事情是结构而不是数据本身。存储克隆应该减少文件大小,以使任一版本控制系统可行。

答案 1 :(得分:4)

我没有使用FileMaker的经验,但Git非常擅长维护您提交的内容的完整性。 (是的,您可能需要退出应用程序以确保在提交之前事物处于一致状态,但这是一个FileMaker事物,而不是Git事物。)

但是,如果FileMaker文件是(a)二进制或(b)大,您可能希望继续查找。 Git的许多功能都是围绕使用文本文件而设计的,任何类型的大型文件都可能导致存储库大小和性能受损。例如,我不会将它用于Access数据库的版本。

另请注意,托管Git提供程序通常具有文件和存储库的最大文件大小。

例如,GitHub目前在100MB per file, 1GB per repository设置配额。在同一页面上,他们还明确recommend against storing database dumps,这些文本文件通常非常大。

Bitbucket有soft 1GB repository limit and a hard 2GB repository limit

答案 2 :(得分:1)

您可以将Filemaker文件的克隆保存到Git仓库中。这将绕过所有但非常大的数据库的Git限制,并避免将未封闭文件写入repo(“损坏”)的问题。