如何将 Mac OS X .app 作为一个文件置于版本控制之下?

How can I put a Mac OS X .app under version control as one file?

我对 Git 很陌生;我在 Mac OS X.

上使用 SourceTree

当我开始跟踪一个 .app 文件时,Git 将其视为 .app 内容中的多个文件。

有什么方法可以让另一个 Git 客户端仅将 .app 文件作为应用程序包而不是多个文件获取?

这些.app东西不是文件;它们是 目录 。要让自己相信这一点,请尝试 运行

ls -la /Applications/

并注意 *.app 条目对应的权限标志开头的 d

...
drwxr-xr-x+  3 root          wheel    102 31 Jan 16:32 App Store.app
drwxr-xr-x+  3 root          wheel    102 31 Jan 16:32 Automator.app
drwxr-xr-x+  3 root          wheel    102 31 Jan 16:32 Calculator.app
drwxr-xr-x+  3 root          wheel    102 31 Jan 16:32 Calendar.app
drwxr-xr-x+  3 root          wheel    102 31 Jan 16:32 Chess.app
drwxr-xr-x+  3 root          wheel    102 31 Jan 16:32 Contacts.app
...

只要 Unix 将它们视为目录,Git 也会如此。如果您希望 Git 将 *.app 视为单个文件,则必须以某种方式归档其内容。

.app .framework .bundle .pages 等等,这些都是应用程序包,在你的磁盘中directory/folder。

svn 或 git 将其视为目录,因为它们应该支持 windows/linux。也许某些 git 客户端会将应用程序包显示为 "file",但我认为显示为目录更好。

另一种将 .app 存储为文件的方法是将其压缩并上传到 git,它会很干净。