我可以使用git来管理.dwg (autocad)文件吗?

13

1
理论上,您可以使用Git跟踪任何类型的文件。然而,在实践中,跟踪二进制文件(如.dwg文件)会更加棘手。除非您使用适用于.dwg的第三方diff工具,否则不要指望能够理解Git的差异。 - jub0bs
只是一些随意的想法... 一些付费(低端)的方法:Autodesk Vault,MS Sharepoint。 免费选项:一些云存储应该像OneDrive(至少我知道它可以处理其他文档类型...还没有检查过dwg)。 - bjhuffine
6个回答

5

通常源代码控制对文本文件最有效,因此我建议使用DWG文件的文本版本:DXF。


1
dxf很好,但是autocad总是自动保存为dwg,有没有办法默认使用dxf?否则每次我都需要将其保存为dxf以进行版本控制,这真的很繁琐。 - ZK Zhao
打开DXF格式的图纸后,应自动保存为DXF格式。 - abenci
1
Dxf 是文本格式,但它不可读且无法自动合并。因此,您没有收益将其视为非二进制文件处理您的 Git 客户端。 - Y.N

4

Autodesk随每个AutoCAD版本(或您可以从其网站上下载)免费提供Vault。

注:Vault是用于数字数据管理的软件。

我观看了视频,确实令人印象深刻。但是当我尝试查找下载和教程时,发现它真的很“繁重”,并且可能不太容易使用。 - ZK Zhao
1
一旦安装好了(至少是免费版本),它就非常简单,因为它没有太多的功能。它是基于版本的,而不是文件的修订和分支,但是也有限制但是可以实现。我对Vault唯一的问题是,通常必须从AutoCAD内部完成文件的签入或签出,因为独立的Vault应用程序无法正确检测文件依赖项,例如附加的图像或xref。 - Miiir

4
DWG文件是二进制文件,因此使用版本控制系统并不理想。如果您想要一个零工作量的分布式版本系统,最好使用Dropbox或类似的东西。在免费帐户中保存版本30天,或者在付费帐户中保存一年。在大多数情况下,DXF都是一个误导,不要追逐这个兔子。
您还可以做另一件事(我为一些客户做这个),就是在存档文件夹之外的不同文件夹中工作。当您准备提交版本时,请将工作文件夹与存档同步。我使用Free File Sync,但请注意其中的广告软件。我刚安装了v7.5版。MalwareBytes说没问题。它在安装过程中问我是否想要Opera浏览器(不用了谢谢),但没有其他奇怪的事情发生。看起来他们也放弃了MalwareForge……嗯,SourceForge。
回到答案……

在 Free File Sync 中,版本控制发生在/替换/删除文件的选项中。您想要版本控制,从他们的网站...

2. 保留所有旧文件的版本

将删除处理设置为版本控制,将命名约定设置为时间戳。FreeFileSync 将已删除的文件移动到提供的文件夹中,并向每个文件名添加时间戳。同步文件夹的结构得以保留,以便可以通过文件浏览器方便地访问旧版本的文件。

例如:一个文件 Folder\File.txt 被更新了三次,旧版本被移动到文件夹 C:\Revisions 中

C:\Revisions\Folder\File.txt 2012-12-12 111111.txt C:\Revisions\Folder\File.txt 2012-12-12 122222.txt C:\Revisions\Folder\File.txt 2012-12-12 133333.txt

我使用这个时间戳:%timestamp%,例如 2012-12-22 123044 格式:[YYYY-MM-DD hhmmss]

你最终会得到很多文件,但它们很容易找到和打开。这在过去几年中一直对我有很好的作用。
最大的烦恼是合并冲突,但无论如何Git都会咬你一口。如果文件在两个地方都被编辑,则Free File Sync将标记冲突,您必须自己解决这个谜团。
Dropbox的缺点类似,但它会默默地合并。那不好。如果其他人在不同的机器上进入相同的文件夹,则不要期望写锁和*.dwl锁定文件能正常工作。

2
如果您所在的行业可以合理地期望人们为“共享数据环境”做出贡献,并保留每个受控文档的每个版本何时提供给谁的传输记录,那么git以更接近传统传输或文档登记表格的形式维护该文档登记表格。
Git还具有分支和里程碑存档的能力:
- 在与“当前”版本不同的分支中探索选项研究; - 查看来自外部方的图纸传输(拉取请求),并在将其合并到整个团队可见的“当前”版本之前审查或修复它; - 在提交到团队的共享数据环境之前,实施ISO 9001审核过程,以内部签署分支(拟议的传输); - 在开发批准、建筑批准、投标问题、任何投标附加信息、建设问题等关键里程碑处保存当前受控文档集的里程碑。检出里程碑问题,并像当时一样浏览文件系统树。比较当时和其他里程碑之间的变化。
如上所述,值得注意的是,大多数面向建筑的CAD交付成果是专有的二进制格式,例如DWG和PDF。这些不会像Dropbox等基本文件同步工具那样高效地存储在git中。它们以某种特殊的二进制blob“附件”存储。另一方面,失去确认每个文档的每个行的每个字是谁写的能力并不是丢弃git相对于具有单个“当前”状态的云文件同步服务的其他整个文档版本控制优势的原因。 Github桌面客户端是非技术人员查看项目历史记录两个状态之间更改的文档列表的很好的工具。
至少在建筑领域,随着使用基于文本的ISO标准文件格式(如IFC)进行BIM协作的开放标准的转变,我们正处于将来3D模型在结构化文本文件中作为可交付合同文件的前沿。我希望自己能够准备好使用类似git的东西,以便对定义联合模型中每个元素和属性的责任的提交进行加密签名,并提供修订描述。我的简要调查倾向于表明,ifcxml差异比ifc更容易有用地理解。生产自动验证的简单ifcxml文件以匹配ISO 19650“信息要求”的工作似乎是一个考虑周到的懒惰人想要设置某些东西的方式。因此,即使DWG目前无法完全实现,git作为DWG的共享数据环境也具有未来的潜力。
您甚至可以说服整个项目团队以dxf格式交换文档。除非您起草所有合同并审查其进展声明,否则这听起来就像是彩虹独角兽领域。
相反,我们可以继续使用Dropbox和带有扫描签名的Excel文档注册表来验证授权文件的发布者,然后在Jellyware中进行所有其他文档控制。这样做可能没问题,直到有人找律师。如果出现问题,Jellyware方法只需要无休止的超级有趣的繁忙工作,这应该会让任何按小时计费的律师感到兴奋。他们甚至可以将每个里程碑加载到git存储库中,并让git向他们呈现传输历史,以便他们可以确定要攻击哪个死树传输。"原始答案"

1

1
如果您只是想追踪历史记录、在时间上前后移动,那么GIT和Autodesk Vault(由于dwg是专有的Autodesk解决方案,所以通常是首选)几乎相等。它们都不能对dwg文件进行差异比较。是的,Autodesk产品无法对Autodesk文件进行差异比较。
如果您的主要操作是通过GUI进行的,两者也是可比的,尽管对于GIT,您有更广泛的选择。
当您进阶使用Git时,将允许您做比Autodesk Vault更多的事情。最关键的是“历史分支”,没有这个任何严肃的工作都是不可能的。还记得那些带有“version with something.dwg”、“need to try this.dwg”等文件吗?使用GIT,您可以直接使用“替代历史记录”。
Git会在尝试确定文件之间的差分压缩时遇到一些困难,因此对于大型二进制文件,您可能会遇到一些减速。但是,您确实有两个选择:
告诉GIT该文件是二进制文件,因此不要努力(检查.gitattributes选项);
告诉GIT通过所谓的GIT-LFS扩展处理文件。
此外,应该配置GIT,使其永远不会尝试进行任何文件修改。我提到了它,因为它可能被配置为例如在Linux和Windows之间更改“行尾”字符。我不确定默认值是什么,因为我总是将其配置为“不要触摸文件”。
我使用GIT进行Autodesk Inventor、LibreOffice和其他文件。没有问题,除了大量磁盘消耗和无法查看版本差异的能力。但是,如果您需要保留50个或更多副本来跟踪历史记录,该怎么办呢?
GIT的好处是,您不必拥有任何类型的服务器即可从中受益。它将在您的磁盘上保留历史记录,您不必与任何人共享它。如果您愿意,您可以这样做,但您不必如此。这是一个低投资的起点,值得一试。当然,您会发现一些限制,但在我的情况下,这是一个好的和具有成本效益的工具。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接