Version control 版本控制:接受一个没有任何
我最近承担了一个没有版本控制的项目。我自己在版本控制方面没有任何经验。我觉得这是完成这个项目的唯一途径(可能是我现在想到的任何未来项目——我总是太相信自己了……) 我的问题是-我从哪里开始对已经在生产中的项目实施版本控制?请记住,我以前没有使用过版本控制,所以实际上这是两个独立的问题:Version control 版本控制:接受一个没有任何,version-control,Version Control,我最近承担了一个没有版本控制的项目。我自己在版本控制方面没有任何经验。我觉得这是完成这个项目的唯一途径(可能是我现在想到的任何未来项目——我总是太相信自己了……) 我的问题是-我从哪里开始对已经在生产中的项目实施版本控制?请记住,我以前没有使用过版本控制,所以实际上这是两个独立的问题: 从版本控制开始 在已经上线的系统上实现它 计划 作为背景,该项目是一个使用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"