每当我替换版本控制下的 Photoshop .psd 文件时,我就会问自己这个问题。
您可以使用 ls -l 命令看到 PS 在资源 fork 中创建了一个缩略图标。
您可以使用 ls -l 命令看到 PS 在资源 fork 中创建了一个缩略图标。
Git 不会追踪元数据,因为这些资源不是文件内容的一部分(所以你的答案是“否”)。
在他的“跨平台版本控制”条目中,Jakub Narębski 评论道:
这不是源代码管理系统(SCM)需要解决的问题。无差别地保留额外的元数据可能会导致权限和所有权等方面的问题。因此,SCM只保留有限的、SCM友好的子集元数据。如果你需要保留额外的元数据,可以使用(在良好的SCMs中)钩子来实现,例如etckeeper在Git中使用metastore。额外的元数据问题不符合 SCM 标准,并且不同的文件系统可以或不能存储它们。
例如包括完整的 Unix 权限、Unix 所有权(以及文件所属的组),其他权限相关的元数据,例如某些 Linux 文件系统上的 EA(扩展属性)或 MacOS 上(不)著名的资源表单(MacOS 上的资源 fork 与 Linux 上的 xattrs:Eric Sink article 中的第 5 个问题)。
Thomas Tempelmann 在评论中指出:
实际上,自macOS 10.12以来,
textClippings
也将信息存储在数据叉中,以plist
格式,具有与资源叉内容相同的键和值。唯一无法使用的是QuickLook,如果rsrc丢失,但打开这些文件将显示内容。
因此,在Git中存储.textClipping
文件并非没有希望。
macOS.gitignore
中的.textClipping的PR(https://github.com/github/gitignore/pull/3550)。 - VonC简短的回答是不会。
在Mac上,默认情况下,git不会跟踪资源叉、xattrs或查找器信息。
git
将直接削减您的资源叉,这正是我想要的。
其他工具,如cp
和rsync
已在Mac上进行了补丁处理,以保留此元数据,有时很方便,有时很烦人。
git
目前既不烦人也不方便,这取决于您的观点。