使用版本控制需要多少开销时间和学习时间?

use*_*091 2 svn git version-control

背景:我们是一家小型网络开发公司.我们有5个程序员,70%的时间生成简单的PHP网站(有一些MySQL用于新闻/产品目录/等),30%的时间用于大型项目(通常是定制的ERP系统).我们在办公室有一个中央服务器,在所有用户(和服务器)中使用Linux,只需安装服务器并在我们需要工作的目录(网站项目)中工作即可.这目前工作正常.有两件事让我考虑版本控制:

  • 许多网站,人等都是一个非常 强大的 案例
  • 当公司发展并且几个人同时在一个项目上工作时,未来可能出现的潜在问题.

然而,尽管在提及不使用版本控制的理由时人们看到被敲定了,但由于以下几点我有一定的犹豫:

  • 我们做了很多改变,但它们通常都是非常小的变化.
  • 我们几乎从未发生需要扭转变化的事情.
  • 我们经常备份,可以在需要"先前"的情况下使用
  • 几个人几乎不会同时处理相同的代码.一个项目通常在人与人之间"流动",因为不同的人负责不同的开发阶段(HTML/CSS/PHP/MySQL)
  • 当项目更复杂时,我们通常将其分配给一个人.
  • 我们现在正忙着工作

所以我看到版本控制的好处,但我只关心开发网站时所需的开销.我以前从未使用过这样的系统.我觉得现在事情变得如此简单快捷,以至于我们在使用VC时会浪费时间.如果您想在一天内对20个不同的网站进行20次小的更改,则可以加入,签出等.至少,这就是我的想法.所以我的问题是:我们是否应该提前转换到VC,或者我们现在不应该浪费时间吗?这个很难学?最后,GIT比SVN更耗时(学习和使用)吗?(我喜欢GIT的非集中方面,但这不是必需的).

注意:我们都使用常规文本编辑器(如VIM或jEdit)进行编码.

Amb*_*ber 6

根据您所描述的方案,版本控制应该更容易使用 - 因此开销应该非常低.例如,根据您的描述,您基本上要做的就是(Git的例子):

  1. 开始工作: git pull
  2. 做工作(通常是你已经做过的)
  3. git add . (在顶级目录中)
  4. git commit -m "A quick message saying what you did"
  5. git push

就是这样.

  • 我发现Git比SVN复杂得多,因此从我的角度来看,它的学习成本更高.这就是说我同意Amber ...鉴于你描述了她所描述的内容的工作流程,你现在需要了解所有内容.当你需要了解更多时,你可以担心学习分支/合并,存储以及git提供的所有其他东西. (2认同)
  • Git具有更多*潜在的*复杂性(因此更多*功能*),但它不具有*复杂性 - 您可以使用其功能的子集并使其保持非常简单. (2认同)