Version control 版本控制:接受一个没有任何

Version control 版本控制:接受一个没有任何,version-control,Version Control,我最近承担了一个没有版本控制的项目。我自己在版本控制方面没有任何经验。我觉得这是完成这个项目的唯一途径(可能是我现在想到的任何未来项目——我总是太相信自己了……) 我的问题是-我从哪里开始对已经在生产中的项目实施版本控制?请记住,我以前没有使用过版本控制,所以实际上这是两个独立的问题: 从版本控制开始 在已经上线的系统上实现它 计划 作为背景,该项目是一个使用javascript的php/mysql驱动的网站,我正在(Windows)XAMPP服务器上工作,我非常渴望了解这个版本控制的新世界

我最近承担了一个没有版本控制的项目。我自己在版本控制方面没有任何经验。我觉得这是完成这个项目的唯一途径(可能是我现在想到的任何未来项目——我总是太相信自己了……)

我的问题是-我从哪里开始对已经在生产中的项目实施版本控制?请记住,我以前没有使用过版本控制,所以实际上这是两个独立的问题:

  • 从版本控制开始
  • 在已经上线的系统上实现它 计划
作为背景,该项目是一个使用javascript的php/mysql驱动的网站,我正在(Windows)XAMPP服务器上工作,我非常渴望了解这个版本控制的新世界

从这里开始:


我发现SVN是最容易使用的版本控制系统,特别是对于初学者。开始很简单,你要做的唯一真正的决定就是把你的东西放在哪里。有两个免费的svn服务器可用,但如果你真的认真对待你的工作,你应该拥有自己的

要做的第一件事是选择一种版本控制范式(集中式与分布式)。要回答这个问题,您需要了解您的团队以及您打算如何处理签入、签出、合并和分支。一旦你选择了一个范例,你就可以选择一个版本控制系统。主流系统是用于集中版本控制的Subversion和用于分布式版本控制的Git和Mercurial

如果项目处于活动和工作状态,那么这应该是您对正在使用的任何版本控制的初始签入。您需要一个可靠的基线,可以恢复到该基线,并且需要0来部署一些有效的东西。如果你的项目不起作用…好吧,祝你好运。您可能希望签入以开始使用版本控制,然后决定如何继续(或者让项目处于稳定和正常运行状态,然后重新启动存储库,或者让您的初始签入成为一个已损坏的系统)

如果团队其他成员看不到版本控制的好处,我建议在您的机器上安装您自己的系统,至少在您自己的工作中使用它。

步骤1:下载

步骤2:在您最喜欢的命令行中,转到源目录的根目录并键入
hgint

第三步:做一个
makeclean
或类似的操作(即,您只需要源代码,不需要生成文件)

步骤4:键入
hg addremove

步骤5:键入
hg commit

从这一点开始,您可以:

  • 检查最近一次提交和现在提交之间的更改:
    hg diff
    hg status
  • 在代码中设置检查点:
    hgcommit
  • 返回到以前的检查点:
    hg update-C-r 0
祝贺您,您现在正在使用版本控制:这真的没有那么难,而且非常非常有用(如果没有其他原因,您可以查看所做的更改,看看它们是否有意义的话)

在某个时候,您可能想了解分支(如果只是为了在另一台机器上拥有存储库的备份副本),这时您可以查看文档或。您可以查看以下内容:


这是一个分布式版本控制系统,目前具有良好的windows支持和shell扩展,具有

祝贺您,您正朝着正确的方向前进

您首先需要选择一个版本控制系统。我现在最喜欢的是Git。不幸的是,我不认为Git是版本控制的简单入门。我还使用了Subversion和Perforce

Subversion()在许多平台上工作,在许多项目中使用,并且有一些很好的GUI工具可用(例如在Windows上)。命令行工具也可用。它也是免费的。您可以在“本地文件系统”模式下运行它,这意味着您不需要设置单独的服务器。它从“比CVS更好”的根源上走了很长一段路

Perforce()相当不错。它的Windows实现似乎是最好的(上次我检查时,他们的跨平台GUI非常糟糕)。您主要使用GUI与之交互,不过也有命令行工具。这是商业软件,但开源项目可以通过联系该公司获得免费许可证。最大的阻力是你需要设置一个服务器。首先,您可以在开发服务器的同一台机器上运行服务器,但从长远来看,这可能是个坏主意。我发现Performance对于2-8人团队来说非常好;我不知道如果有更多的人,它会有多好

Git()的最大优点是它几乎不需要设置。安装后,您可以在任何目录中执行
git init
,以创建新的git存储库。修订历史记录保存在项目目录中。您可以从本地版本控制开始,然后从那里开始扩展。如果Git看起来很可怕,您也可以查看Mercurial()。我没有使用过它,但我知道它与Git有一些相同的基本原则

避免简历。它即将推出,除非他们需要,否则任何新项目都不应该使用它


将源代码管理添加到现有项目很容易。困难的部分是确保每个人都愿意使用源代码控制。如果你是一个人工作,那么这只是个人纪律。但是,如果你是团队的一员,而有些人对此有所保留,你就会遇到问题。尽量让每个人都参与进来,并随时回答他们的问题。如果人们不知道如何使用一个工具,他们就不会使用它。

我不知道php等是否有类似的东西,但这里有一个有趣的资源。在许多方面,这只是使用.NET作为示例;这本书的大部分内容都是关于处理政策的,就像你提到的:

  • 怎么
    $git init
    $git add --all
    $git commit -m"First commit"