我完全不知道版本控制.只有它在很多方面都非常有用.
我找到了一些相关的问题,但没有一个从绝对开始.
我是使用Mac OS X工作的唯一开发人员,传统上只使用FTP.
任何人都可以帮助我进行与PHP项目相关的版本控制(这有关系)吗?
是的,尝试一下,这是值得的.你正在使用的语言并不重要.它对我来说非常适合PHP,它也适合你.
优点
如果您是唯一的开发人员,那么在没有版本控制的情况下确实更容易.但是,您会发现使用版本控制系统会带来很大好处.一些最简单的好处是:
回到项目后再也不知道你的最新版本是什么(不再是myproject090201-archive2-final6.zip)
永远不要害怕开始一些重大的重构,如果你的文件出错,你只需回滚到最新版本
如果某个东西在你的项目中停止工作并且你觉得它在某一点上有效,你可以轻松地测试一些以前的版本,并查看工作版本和非工作版本之间的区别,以找出破坏代码的内容
您当前项目的额外备份,如果它不在您的计算机上则更好......当然,备份您的版本控制系统的额外要点,我们从不太谨慎,您不希望必须重新启动该月你是一个长项目吗?
选择
正如一些人所说,你的版本控制系统有一些选择,我想你会想要一个免费的开始.有一些优秀的商业产品,但免费的产品没有什么可羞愧的.所以这里有一些非常流行的免费版本控制系统:
Subversion(也称为SVN)
混帐
水银
市场
集中与分布式
Subversion已经存在了一段时间,它被归类为"集中式".这意味着每个人都将获取最新版本并将其最新工作提交到一个中央系统,通常在另一个系统上,尽管它可以很容易地在您自己的机器上.这是一个易于理解的过程.
其他三个被称为"分布式".有很多不同的可能过程,因为它是一个更灵活的系统,这就是为什么这三个新人现在在很多人互相交流的开源项目中获得了很大的吸引力.基本上,您正在自己的机器上进行自己的修订,根据需要制作多个副本,并决定与其他计算机上的其他人共享哪些版本.
这种趋势看起来似乎走向了分布式系统,但由于这些系统是最新的,它们仍然缺少GUI工具,使其真正易于使用,您有时可能会发现文档更轻一些.另一方面,这一切似乎都很快得到纠正.
在你的情况下,当你独自工作时,它可能不会产生很大的不同,虽然你会听到集中式和分布式系统的非常好的点,但你可以在没有任何问题的情况下使用其中一个.
工具
如果您绝对需要Mac的GUI工具,那么我会选择SVN来启动源控制.有两种非常好的产品(商业):
版本
基石
还有一些其他的(比如免费的svnX)在我看来变得有点陈旧和不友好,但无论如何这可能是有趣的尝试.
如果您不介意不使用GUI工具,在终端的帮助下,您可以使用上述任何系统的一些简单命令行完成所有相同的操作.
起点
在任何情况下,你都需要一些起点.
对于Subversion,你的第一站必须是他们的免费书,版本控制与Subversion.花几天时间浏览章节,这将是投入时间的好时机.介绍章节是一个很好的阅读,即使你不想特别使用Subversion,因为它会让你更好地理解版本控制.
对于分布式系统,我对Mercurial很开心,但它是一个容易燃烧的主题,所以我会让你在那里做出自己的选择.但是如果你最终看看Mercurial,看一下这篇博文,它对我来说是一个很好的启动器,如果你已经习惯了版本控制的话,几分钟内就可以启动并运行基础知识一般来说.无论如何,请访问Mercurial的主页,并查看页面的"入门"部分.
结论
试一试,花一天时间用一些虚假的文件来试一试.尝试重命名文件和目录,擦除,移动东西,提交二进制文件与文本文件,解决冲突并恢复到旧版本以获取它.这些通常是您在使用版本控制时遇到的前几个障碍,如果它是在非生产项目上,它将是无痛的.
在任何情况下,值得学习的东西都会对您的个人项目有所帮助,以及如果您最终在当前工作或下一个工作中与其他开发人员合作.
祝好运!
代码类型无关紧要.
一个开源和流行的版本控制系统是颠覆,有一个很好的概述/手动这里.