【问题标题】:Explaining SVN to non-programmers [closed]向非程序员解释 SVN [关闭]
【发布时间】:2008-12-04 19:03:55
【问题描述】:

我与许多新的技术支持人员一起工作。有时,他们喜欢修复对我们的开发人员来说可能不是高优先级的小问题。这需要向非程序员教授 SVN 基础知识,我发现这可能会有些棘手。

您发现哪些资源有用?是否有您通常用来教授 SVN 的图表?

【问题讨论】:

标签: svn resources diagram


【解决方案1】:

基本上你可以讨论 SVN 能做什么,它不只是用于代码,而且可以用于一般的任何文档。

不提及代码的示例将很有用:

作者写了他的书并将其副本放在中心位置。该文档名为 1。当他进行更改时,他将其副本命名为 2。下一个副本将命名为 3,依此类推。只要他可以访问该中心位置,他就可以随时根据需要参考以前的副本。

现在,出版公司为他的书指派了两名校对员。使用 SVN,校对人员能够更正词汇错误并更正它们,并将更正的副本放在中心位置。作者和校对人员也可以获得最新的副本,并且他们可以阅读所做的更改,因为每当放置新副本时,相关人员都可以将更改的内容写给 cmets。

如果校对人员发现逻辑和语法错误怎么办?他们不能简单地更改它并将新副本放在中心位置,因为他们不知道作者的意图,这可能是一种独特的写作风格(也就是故意偏离规范的东西)。他们可以使用错误跟踪软件,但这是另一篇文章。

【讨论】:

    【解决方案2】:

    当我读到它时,这里有两件事。 1 教他们概念,2 教他们如何使用 SVN。

    一般保持简单,复杂性会在时间和使用中自行处理。

    1. 简单地说,SVN 是您正在处理的内容的备份,但巧妙的是,它只保存您所做的更改,而不是您保存到其中的每个版本,这样可以保持它很小,并且可以轻松地让您比较随时间变化的变化。

    2. 这里无可替代的实践经验,向他们展示如何结帐、更新和签入。我建议你使用 Tortoise SVN,因为学习曲线大大缩短。

    为了简单起见,我会建立他们自己的分支,他们可以提交,所以他们不需要理解这一点,你只需在后台管理合并。但很快他们就会掌握窍门!

    【讨论】:

    • 有一个演示 svn repo 来学习工作流程是一个很大的帮助。
    【解决方案3】:

    向他们展示版本控制解决的问题应该是起点。 或者你可以让他们先做.bak文件,看看重点。

    但如果他们对维基百科足够熟悉,最好向他们展示历史以及维基百科是如何保护自己的(它会回答他们的一些好奇心),以便他们看到它真的很有用在实践中。您可以安装一个 wiki 让他们尝试。

    只有在之后,把它们从 svn 的“无聊”文本命令中放入...

    【讨论】:

      【解决方案4】:

      我最近在向整个 Web 开发团队(包括程序员、界面构建者、图形设计师、内容编辑、网站版主和非技术经理)介绍 SVN 时遇到了这个确切的问题。我四处寻找非技术文档,但最终得到的可用文档很少,所以我决定自己构建。不幸的是,大多数信息都希望用户了解客户端/服务器架构以及“分支”是什么——在我的情况下,我无法假设。您可以在 SlideShare 上查看我的一个迁移前 PowerPoint(“这东西叫 SVN?FTW 还是 WTF?”)

      http://www.slideshare.net/secret/wBsLzZb3O7cXCU
      

      真正的关键是要解释 SVN - 其核心 - 实际上只是一种更好的方法来处理复制和粘贴文件。去掉default.bak、default2.asp、defaultBackup.asp、defaultMyCopy.asp等等……大家都能理解。

      随着我的用户对源代码控制的概念越来越熟悉,我鼓励人们在我们的内部 WIKI 上提问,以便开发团队(和其他用户)可以帮助他们。

      我们还构建了一个自定义 SVN 桌面工具,以一致的方式自动设置他们的本地桌面,从而保证公司内的每个人都拥有与其他人相同的设置 (c:\projects\projectname),而且它还更新了他们的本地 IIS 安装,以便他们可以随时在本地查看网站,而无需手动配置任何内容。

      所以 - 提供很多牵手 - 幽默 - 让事情变得简单 - 保持标准化 - 提供一种提问的方式问题 - 提供支持 - 了解您的用户以及他们“继续他们的一天”的需求。如果可能的话,坐在他们的办公桌前,尽可能多地引导他们完成整个过程,让每个人都克服障碍

      【讨论】:

      • 仅供参考,“wiki”不是首字母缩写词。
      【解决方案5】:

      我只想解释一个场景,即跟踪以前的修订以及为客户建立一个分支很重要。

      那里有更通用的版本控制教程,它们不是特定于 svn 或其他可能有用的。

      您不想让他们不知所措 - 只需满足他们的基本需求即可。

      【讨论】:

        【解决方案6】:

        我发现 SVN 比 CVS 更容易解释,因为一切似乎都是文件夹(尽管它会使用浅拷贝)。就这样向他们解释。

        并且不要详细解释所有内容,而只是在需要了解的基础上告诉他们。如果您开始解释分支和合并,您可能会看到他们的头脑爆炸,或者他们可能会认为进行小改动不值得付出努力

        【讨论】:

        • 是的,但是每个开发日志在这里都有自己的分支,所以总是会遇到分支和合并。显然,这并不是说总会有冲突。 :-)
        【解决方案7】:

        比喻怎么样,它给“树干”、“树枝”等起了名字?

        【讨论】:

          【解决方案8】:

          告诉支持人员 SVN 是源代码服务器,他们所做的更改是客户端更改。他们所做的是更改源代码的客户端副本。它应该发布到 SVN 以存储在那里。与任何其他客户端/服务器应用程序中的方式相同。

          【讨论】:

            【解决方案9】:

            告诉他们 SVN 可以用于除编程之外的其他事情是个好主意。配置文件、文档,基本上是您需要版本控制甚至只是备份的任何内容。

            向他们介绍存储库,其中包含所有文件和有关文件不同版本的信息,以及有关工作副本的信息,这些文件是您实际使用的文件。

            从检查文件和提交等简单的事情开始。提交文件就像说:“我有一个新文件或文件的新版本”。向他们展示如何使用最新版本更新文件。

            也许你可以开始告诉他们关于主干、分支和标签、合并和所有爵士乐的事情。一个很好的资源是那些真正学到了一些东西的非程序员。他们可能会使用更适合其他非程序员的短语和类比。

            【讨论】:

              【解决方案10】:

              我发现这篇文章非常适合我们的新开发人员阅读。图表很好,信息也很简单。

              Branch Merging With Subversion

              真正的诀窍是让他们了解分支的重要性,任何人都可以轻松掌握修订控制本身的概念。

              【讨论】:

                猜你喜欢
                • 2010-09-20
                • 2011-03-25
                • 1970-01-01
                • 1970-01-01
                • 2010-12-16
                • 2012-03-04
                • 2010-10-01
                • 2010-12-27
                相关资源
                最近更新 更多