git可以和.dwg(autocad)一起使用吗?

gcxthw6b  于 2023-05-05  发布在  Git
关注(0)|答案(6)|浏览(248)

.dwg的版本控制确实是个问题。我想知道是否可以使用git来控制版本?还是只提交文件中的更改?
如果这是不可能的,那么什么是一个好的版本控制.dwg的方法?
我发现:Can GIT, Mercurial, SVN, or other version control tools work well when project tree has binary files?上面说svn可以和cad一起工作,这是现在唯一的解决方案吗?

bcs8qyzn

bcs8qyzn1#

通常源代码控制对TEXT文件最有效,因此我会考虑使用DWG文件的TEXT版本:DXF格式。

bkhjykvo

bkhjykvo2#

DWG文件是二进制文件,因此使用版本控制系统并不理想。如果你想要一个零努力的分布式版本系统,你最好使用Dropbox或类似的东西。他们在免费帐户或a year in a paid account中保留30天的版本。DXF在大多数情况下都是一种转移注意力工具,不要追逐兔子。
你可以做的另一件事(我为几个客户做了这件事)是在一个不同于存档的文件夹中工作。当您准备好提交一个版本时,请将工作文件夹与存档同步。我使用Free File Sync,但要注意其中的广告软件。我安装了v7.5。MalwareBytes说没问题。它在安装过程中问我是否想要Opera浏览器(nothankyou),但没有发生其他奇怪的事情。看起来他们(也)已经放弃了MalwareForge...呃,SourceForge。
回到答案…
版本控制发生在自由文件同步的选项/替换/删除文件。你想要Versioning, from their site

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

将删除处理设置为Versioning,将命名约定设置为Time stamp。FreeFileSync会将删除的文件移动到提供的文件夹中,并在每个文件名上添加时间戳。同步文件夹的结构被保留,使得可以经由文件浏览器方便地访问文件的旧版本。
示例:文件Folder\File.txt更新了三次,旧版本被移动到文件夹C:\Revisions
C:\Revisions\Folder\File.txt 2012-12 - 12 111111.txt C:\Revisions\Folder\File.txt 2012- 12 12222.txt C:\Revisions\Folder\File.txt 2012-12- 12 13333.txt
我使用这个时间戳:%timestamp% e. g. 2012-12-22 123044 format: [YYYY-MM-DD hhmmss]
你会得到很多文件,但它们很容易找到和打开。这几年来对我来说效果很好。
这里最大的烦恼是合并冲突,但Git无论如何都会咬你一口。如果文件在两个地方都被编辑,免费文件同步将标记冲突,你将不得不自己解决这个谜团。
Dropbox的缺点是类似的,但它会默默地合并。这可不妙如果其他人在不同机器上的同一文件夹中,那么不要期望写锁和*.dwl锁文件工作。

bbmckpt7

bbmckpt73#

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

sz81bmfz

sz81bmfz4#

如果你所在的行业中,人们可以合理地期望为“公共数据环境”做出贡献的人保存每个受控文档的每个版本何时被提供给谁的传输记录,那么git以更接近传统的传输或文档记录的形式维护文档记录。
git中还有分支和里程碑归档的功能:

  • 在“当前”版本之外的分支中探索选项研究;
  • 查看来自外部方的图纸传递(拉取请求),并在将其合并到整个团队可见的“当前”版本之前对其进行审查或修复;
  • 在分支机构被允许提交到团队的公共数据环境之前,实施ISO 9001审查流程,以进行分支的内部签核(拟议的传输);
  • 保存当前受控文件的里程碑,如开发批准、建筑批准、招标发布、任何招标附录、施工发布等关键里程碑。检查里程碑问题并浏览文件系统树,就像在那个里程碑时一样。比较一下从那时起和其他里程碑之间发生了什么变化。

如上所述,值得注意的是,大多数用于施工的CAD可交付成果都是专有的二进制格式,如DWG和PDF。这些确实失去了git与dropbox这样的基本文件同步工具之间的许多其他潜在差异。它们在git中的存储效率不如文本文件。它们存储在某种特殊的二进制blob“附件”中。另一方面,无法确认每个文档的每一行上的每个单词是谁写的,这并不是放弃git在云文件同步服务上的其他文档版本控制优势的理由。github桌面客户端对于非技术人员来说是一个很好的工具,可以查看项目历史中两种状态之间的更改文档列表。
至少在建设中,随着实体之间使用基于文本的ISO标准文件格式(如IFC)向BIM协作开放标准的转变,我们正处于未来的风口浪尖,其中结构化文本文件中的3D模型是可交付的合同文档。就我而言,我想准备好一个工作理解,如何使用像git这样的东西在提交上有一个加密签名,定义谁负责联邦模型中的每个元素和属性,以及修订描述。我对此的简要调查表明,ifcxml差异比ifc更容易理解。生成自动验证的简单ifcxml文件以满足ISO 19650“信息需求”的工作看起来像是一个深思熟虑的懒人可能想要设置的方式。因此,git作为DWG的通用数据环境也有一些未来的验证范围,即使它们目前还不能完全实现。
您甚至可以说服整个项目团队以dxf格式交换文档。除非你起草所有的合同,并审查他们的进展索赔,这听起来很像闪闪发光的彩虹独角兽领土给我。
或者,我们可以继续使用dropbox和excel文档注册表,在12页的pdf上扫描签名,以验证谁授权了文档的发布,然后在jellware中完成所有其余的文档控制。在有人打电话给律师之前一切都会好起来的。如果有问题,jellware的方法只是需要无尽的时间超级有趣的忙碌工作,应该得到任何律师的小时费率有点兴奋。他们甚至可以将每个里程碑加载到git存储库中,并让git向他们展示传输历史,这样他们就可以计算出要攻击的死树传输。

uwopmtnx

uwopmtnx5#

如果你想看到的变化,你需要一个专门的工具,唯一一个我熟悉的是维科文档集管理器-http://www.vicosoftware.com/products/vico-doc-set-manager-/tabid/87528/。我认为Autodesk Vault有一个插件可以做到这一点。

eivgtgni

eivgtgni6#

如果你只想跟踪历史,在时间上来回移动,那么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好的一面是,你不需要任何类型的服务器就可以从中受益。它将保留您的磁盘上的历史,你不必与任何人分享它.如果你愿意,你可以,但你不必。这是一个低投资的起点,值得一试。当然你会发现一些限制,但在我的情况下,这是一个很好的和成本效益的工具。

相关问题