代码之家  ›  专栏  ›  技术社区  ›  jsims281

作为一名网络开发人员,使用VCS对我有帮助吗?

  •  4
  • jsims281  · 技术社区  · 16 年前

    subversion ,来管理我的下一个项目,但我不确定作为一名web开发人员,它是否会给我带来任何真正的好处。据我所知,风投的一个主要好处是,一群人可以同时完成一个项目。

    Reading material 在这个问题上似乎 pretty one sided

    “使用版本控制系统是一项非常重要的任务 绝对必须为一个软件的开发者 超过几百行的项目

    …我有一种感觉,这可能会成为一件琐事,没有多少好处。

    我在本地网络上的development server上工作,因此任何数量的人都可以处理这些文件。如果有人需要远程登录,他们可以使用FTP。除此之外,现代版本控制系统还能给我带来什么?

    7 回复  |  直到 15 年前
        1
  •  17
  •   nightcoder    16 年前

    在您的情况下,它至少可以给您带来四个额外的好处:

    1) 它将作为 附加备份存储 .
    2) 如果你不小心添加了bug,你可以
    3) 如果你不小心添加了一个bug或者破坏了一些东西-你可以看到你当前的源代码和上一次提交的源代码之间的差异-VCS会以一种非常合适和演示的方式向你展示这些差异-你会
    4) 你可以 在提交之前轻松查看您的修改 . 相信我,你可能会感到惊讶:)有时候你只是自然而然地做了一些事情,没有思考太多,或者你可能会很累。在这种情况下,, 如果你检查你的修改 后来- .

    祝你好运

        2
  •  2
  •   Electrons_Ahoy    16 年前

    在我看来,VCS系统在web环境中更有用,因为“任何人”都可以轻松编辑网站。

    我所从事的每一个网络项目都遭受过“厨房里的厨师太多”综合症的困扰,最终有人添加了一个小功能,然后你回头看,发现他们最终改写了网站的一些大块内容,并破坏了其他内容。在一个VCS中有一堆版本,使得排除这些类型的错误变得非常简单。

    此外,VCS使web应用程序的部署变得轻而易举。标记VCS中所有页面的生产版本,然后直接签出到web服务器。这比“传统”的方法要好得多,一个人有一个更改过的文件列表和一个FTP客户端。

        3
  •  2
  •   Benedict Cohen    16 年前

    我发现源代码管理的另一个好处是它可以帮助你更有条理。在使用SCM之前,我会做一些小的改变。有了SCM和合理签入的需要,我在写作中变得更加深思熟虑和结构化。

        4
  •  2
  •   Fran Corpier    16 年前

    我在这一点上迟到了,但我只想在nightcoder开始的列表中添加一些要点:这些是SVN让我受益的方式。

    3) …查看当前源代码与上次提交的源代码之间的差异。。。。

    此外:

    4) 从SVN日志中的一条简短评论中,您可以看到是谁、何时以及为什么进行了更改。

    • 不要筛选代码中的注释(除非您愿意)。
    • 为什么呢?因为每次提交时,都会要求您对更改进行评论。那条沉默寡言的评论被记录下来了。

    • 它是否与桌面上的版本id匹配?
      • 不再需要对两个(或3个或4个!)同名文件运行差异检查。
      • 不然后一个服务器/域没有使用最新版本--请修复此问题。
    • $id$在x/html文档元标记中提供了一个方便的“版本”引用。

    6) 不再筛选带有日期戳的备份以查找工作副本(另请参见,2)。

    7) 将您的代码轻松添加到Google代码中,以便与世界共享或获得他人的帮助。

    • 在使用SVN之前,我认为我组织得很好。我错了。

    9) 在多用户环境中,当前版本的同步非常简单。

    下降趋势:

    • 初始设置可能会令人困惑。阅读并遵循说明是必要的。

        5
  •  1
  •   Marcel Popescu    16 年前

    即使您独自工作,版本控制系统也是必须的,因为它允许您保存更改的历史记录,从而让您可以自由地进行实验,因为您知道您始终可以回到以前的工作版本。

    我现在甚至对少于100行的“测试”项目使用subversion。你永远不知道:)

        6
  •  0
  •   stefs    15 年前

    另一个原因:工作环境之间的共享。

    我不仅将svn用于我的重要项目,而且还用于一次性沙盒脚本(我是唯一的编码者)。对于项目,我有不同的存储库,还有“沙盒”存储库。所有的一次性代码都在那里。

    这样做的原因是,我从不同的地方编辑代码-工作和家庭-这使共享变得容易。不要通过归档文件发送或加载代码。在工作中,我只是承诺,回家,更新和继续。对于重要的项目,您不应该这样做(只提交工作脚本)。如果我在一天结束时忘记提交,我至少可以处理代码,然后在第二天将编辑合并在一起。

    我这样做不仅是为了代码,而且是为了对我来说很重要的各种(小)文件。如果我在某个我引以为豪的地方写了一条评论,但我知道它会在一周内被遗忘,我会把一份拷贝保存到沙箱(有点像共享的“我的文档”)——出于怀旧的原因。同样适用于故事、头脑风暴、想法、待办事项列表等。

    风投还有很多其他优势:

    • 快的 从任何地方(如果是公共服务器)下载到您的东西。如果您只需要读取代码,那么浏览器就足够了(如果服务器支持的话)。
    • 在服务器上托管 而且,我不再拥有zip驱动器,而且你知道CD的寿命。。。 ).cvs服务器都有raid、专业管理员、备份。。。如果公司要倒闭,你至少在当地有一份代码副本。
    • 运行自动脚本
    • 保持代码库工作 . 您的应用程序有3个副本:本地、存储库和Web服务器。如果您在轮班结束时没有完成工作,请不要提交,这样存储库就不会包含损坏的代码。如果进行了所有更改和测试,请将它们导出到Web服务器。这样,(在一个完美的世界中)Web服务器就不会托管坏代码。
    • 授予/撤销对其他人的访问权限 . 你也可以通过ftp来实现这一点,但这样更容易跟踪他们所做的更改。
        7
  •  0
  •   gath    15 年前

    您可以在一个新分支上尝试一个新特性,如果它不能像您预期的那样工作,您可以放弃测试分支并恢复到原始工作分支,这对于编码人员来说非常方便。