Macos 如果我使用time machine,为什么要有版本控制系统?

Macos 如果我使用time machine,为什么要有版本控制系统?,macos,version-control,Macos,Version Control,事实上,我知道最好有一个版本控制,但我想知道Time Machine对于懒惰的程序员来说是否在这方面做得不好?他们实际上非常相似,但Time Machine不跟踪文件的哪个版本与系统的特定构建相匹配。拥有元数据非常有用。因为TimeMachine不会跟踪文件更改的日志 e、 对于Subversion中的给定文件,我可以很容易地确定它何时更改,以及同时更改了哪些内容 它不会告诉您是谁更改了它,但我假设您正在讨论本例中的单用户案例 最后,您不能将签入和更改绑定到构建/部署 在Mac OS上安装Sub

事实上,我知道最好有一个版本控制,但我想知道Time Machine对于懒惰的程序员来说是否在这方面做得不好?

他们实际上非常相似,但Time Machine不跟踪文件的哪个版本与系统的特定构建相匹配。拥有元数据非常有用。

因为TimeMachine不会跟踪文件更改的日志

e、 对于Subversion中的给定文件,我可以很容易地确定它何时更改,以及同时更改了哪些内容

它不会告诉您是谁更改了它,但我假设您正在讨论本例中的单用户案例

最后,您不能将签入和更改绑定到构建/部署


在Mac OS上安装Subversion(或类似)非常简单,除非您签入/签出,否则不会消耗资源。强烈推荐。当然,还要确保您的存储库是用TimeMachine备份的

时间机器将为您提供代码备份。就这样

源代码管理也提供了这一点,但也提供了更多。最大的挑战是分支和合并,这对项目有很大帮助

时间机器也不会存储诸如签入注释或谁做了什么更改之类的元数据


最后,时间机器不能真正被分发。如果您希望其他人也开始处理您的代码,那么时间机器将不会有帮助。但是(好的)源代码管理将使协作变得非常容易。

在PC上,做几乎相同的事情,并且允许版本比较,尽管只限于逐个文件。当您想要列出版本X和版本Y之间的所有差异,并基于两者的组合构建版本Z时,就会出现问题。在您同时维护同一项目的多个版本之前,这些类型的备份系统是正常的。

Time Machine不保留所有备份(它只保留一天的每小时备份,只保留一个月的每日备份),因此,如果您需要返回并准确地找出是什么更改导致了问题,您将不会拥有该文件的每个版本。它没有内置的diff支持,不过您可能可以对相关目录执行
diff-r
。它也不会记录任何提交消息,这对于找出某人以特定方式更改代码的原因非常有价值。最后,它不能帮助您协调多人或多台计算机上的一个人;版本控制的最大好处之一是,它可以帮助您分发代码并合并来自多个人的更改


如果你想拥有快速简单的版本控制,我推荐一种分布式版本控制系统。与必须设置和管理服务器的集中式系统不同,开始使用分布式系统通常与
gitinit;吉特加。;git提交
。我通常更喜欢,但也是一个很好的选择,有些人发现它更容易开始。

分支和标记?

由于大家都指出的原因,请使用源代码控制。它很容易设置,可以解决很多问题。它将告诉您是谁在何时更改了什么以及为什么更改(如果您正确使用提交消息),并提供详细信息。当你意识到在过去几天里出了问题时,这是非常宝贵的


完成后,使用Time Machine保存存储库的备份。版本控制系统不是备份系统。只有一个文件系统是不安全的。

版本控制存储库中最重要和最有价值的东西不是内容,甚至不是历史(即#2),而是提交消息。备份程序中没有这些工具。

别忘了分支,它是SCM可以提供给您的最强大的工具之一。。我不知道时间机器是否有某种“另类现实”功能

OSX 10.5附带Subversion 1.4.4