如何使我的 OSX 设置处于版本控制之下?

如何使我的 OSX 设置处于版本控制之下?

我从 Linux 开始,习惯将配置文件保存在 git 存储库下。
自从我买了一台 MacBook 后,我通过首选项面板做了很多调整defaults write,但真的不知道在哪里查找存储这些设置的 plist 文件(我假设)。

知道如何开始吗?

答案1

您的个人偏好设置、应用程序支持文件、缓存等主要存储在 中~/Library。某些应用程序(源自 BSD 的应用程序)将隐藏文件和目录直接保存在 中~,其他应用程序则会污染~/Documents

您的个人用户设置(您使用 进行的所有操作defaults)位于 中~/Library/Preferences/。某些应用程序(SSH、bash 等)仍将其隐藏的首选项文件直接存储在 中~,您通常可以通过符号链接 或source到其他应用程序。

许多应用程序存储支持文件(例如文档数据库)~/Library/Application Support/——存储在那里的文件是否具有实际价值取决于单个应用程序。

一些应用程序或子系统(Safari、Mail、QuickLook 插件、打印机配置、个人仪表板小部件)存储在 的子目录中~/Library。您应该逐个评估它们,以确定是否要将其内容存储在版本控制中。 可能是这里的有用资源。

我不建议将所有内容都放入~/Library版本控制中。有大量的缓存等。

答案2

首先,有些人可能会将 Time Machine 视为一种版本控制。与 Time Machine 相关的是它用于跟踪每个周期要备份的内容。FSEvents 是在 10.4 中引入的,用于跟踪 Spotlight 的索引内容,Time Machine 也使用相同的方法。您可以使用以下方式利用 FSEvents七人查看当您使用默认值进行更改时正在编辑哪些文件。

我可以告诉你,你所说的 plist 存在于文件系统中各种 Library 文件夹的 Preferences 文件夹中。我能想到的,按优先级从高到低的顺序排列如下:

~/Library
/Library
/var/root/Library
/System/Library

/Library我对两者之间的关系并不是 100%/var/root/Library确定——但我知道两者通常不会有太多重叠。/Library通常用于系统应用程序设置,/var/root/Library通常用于系统用户设置。例如,某些蓝牙设置和所有用户的 loginwindow.plist 设置都存储在那里。您会发现,即使在其中两个目录中存在相同的文件名,也只有个别键/值对会重叠。

相关内容