如果我使用时间机器,为什么还要有版本控制系统?

Tha*_*nks 2 macos version-control

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

Bri*_*new 15

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

例如,对于Subversion中的给定文件,我可以轻松确定它何时发生变化,以及同时发生了哪些变化.

它不会告诉你谁更改了它,但我假设你正在讨论这个例子中的单用户案例.

最后,您无法将签入和更改绑定到构建/部署.

在Mac OS上安装Subversion(或类似版本)是微不足道的,除非您正在检入/退出,否则不会消耗资源.强烈推荐.当然,请确保使用TimeMachine备份您的存储库!


Cha*_*tin 7

它们实际上非常相似,但Time Machine无法跟踪文件的哪个版本与系统的特定版本匹配.拥有元数据非常有用.


Bri*_*ell 6

Time Machine不会保留所有备份(它只保留一天的每小时备份,并且只保留一个月的每日备份),因此如果您需要返回并确切知道所引入的更改,您将不会拥有该文件的每个版本一个问题.它没有内置的差异支持,但你可能diff -r会对相关目录进行操作.它也不记录任何提交消息,这对于弄清楚某人为何以特定方式更改代码非常有用.最后,它无法帮助您在多台计算机上协调多人或一人; 版本控制的最大好处之一是它可以帮助您分发代码并合并来自多个人的更改.

如果您想要快速简便的版本控制,我建议使用其中一个分布式版本控制系统.与您必须设置和管理服务器的集中式系统不同,开始使用分布式系统通常很容易git init; git add .; git commit.我通常更喜欢Git,但Mercurial也是一个不错的选择,有些人发现它更容易上手.