【发布时间】:2008-12-04 19:03:55
【问题描述】:
我与许多新的技术支持人员一起工作。有时,他们喜欢修复对我们的开发人员来说可能不是高优先级的小问题。这需要向非程序员教授 SVN 基础知识,我发现这可能会有些棘手。
您发现哪些资源有用?是否有您通常用来教授 SVN 的图表?
【问题讨论】:
-
这个问题似乎离题了,因为它不在帮助中心所述的讨论范围内。
我与许多新的技术支持人员一起工作。有时,他们喜欢修复对我们的开发人员来说可能不是高优先级的小问题。这需要向非程序员教授 SVN 基础知识,我发现这可能会有些棘手。
您发现哪些资源有用?是否有您通常用来教授 SVN 的图表?
【问题讨论】:
基本上你可以讨论 SVN 能做什么,它不只是用于代码,而且可以用于一般的任何文档。
不提及代码的示例将很有用:
作者写了他的书并将其副本放在中心位置。该文档名为 1。当他进行更改时,他将其副本命名为 2。下一个副本将命名为 3,依此类推。只要他可以访问该中心位置,他就可以随时根据需要参考以前的副本。
现在,出版公司为他的书指派了两名校对员。使用 SVN,校对人员能够更正词汇错误并更正它们,并将更正的副本放在中心位置。作者和校对人员也可以获得最新的副本,并且他们可以阅读所做的更改,因为每当放置新副本时,相关人员都可以将更改的内容写给 cmets。
如果校对人员发现逻辑和语法错误怎么办?他们不能简单地更改它并将新副本放在中心位置,因为他们不知道作者的意图,这可能是一种独特的写作风格(也就是故意偏离规范的东西)。他们可以使用错误跟踪软件,但这是另一篇文章。
【讨论】:
当我读到它时,这里有两件事。 1 教他们概念,2 教他们如何使用 SVN。
一般保持简单,复杂性会在时间和使用中自行处理。
简单地说,SVN 是您正在处理的内容的备份,但巧妙的是,它只保存您所做的更改,而不是您保存到其中的每个版本,这样可以保持它很小,并且可以轻松地让您比较随时间变化的变化。
这里无可替代的实践经验,向他们展示如何结帐、更新和签入。我建议你使用 Tortoise SVN,因为学习曲线大大缩短。
为了简单起见,我会建立他们自己的分支,他们可以提交,所以他们不需要理解这一点,你只需在后台管理合并。但很快他们就会掌握窍门!
【讨论】:
向他们展示版本控制解决的问题应该是起点。
或者你可以让他们先做.bak文件,看看重点。
但如果他们对维基百科足够熟悉,最好向他们展示历史以及维基百科是如何保护自己的(它会回答他们的一些好奇心),以便他们看到它真的很有用在实践中。您可以安装一个 wiki 让他们尝试。
只有在之后,把它们从 svn 的“无聊”文本命令中放入...
【讨论】:
我最近在向整个 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 安装,以便他们可以随时在本地查看网站,而无需手动配置任何内容。
所以 - 提供很多牵手 - 幽默 - 让事情变得简单 - 保持标准化 - 提供一种提问的方式问题 - 提供支持 - 了解您的用户以及他们“继续他们的一天”的需求。如果可能的话,坐在他们的办公桌前,尽可能多地引导他们完成整个过程,让每个人都克服障碍。
【讨论】:
我只想解释一个场景,即跟踪以前的修订以及为客户建立一个分支很重要。
那里有更通用的版本控制教程,它们不是特定于 svn 或其他可能有用的。
您不想让他们不知所措 - 只需满足他们的基本需求即可。
【讨论】:
我发现 SVN 比 CVS 更容易解释,因为一切似乎都是文件夹(尽管它会使用浅拷贝)。就这样向他们解释。
并且不要详细解释所有内容,而只是在需要了解的基础上告诉他们。如果您开始解释分支和合并,您可能会看到他们的头脑爆炸,或者他们可能会认为进行小改动不值得付出努力
【讨论】:
树比喻怎么样,它给“树干”、“树枝”等起了名字?
【讨论】:
告诉支持人员 SVN 是源代码服务器,他们所做的更改是客户端更改。他们所做的是更改源代码的客户端副本。它应该发布到 SVN 以存储在那里。与任何其他客户端/服务器应用程序中的方式相同。
【讨论】:
告诉他们 SVN 可以用于除编程之外的其他事情是个好主意。配置文件、文档,基本上是您需要版本控制甚至只是备份的任何内容。
向他们介绍存储库,其中包含所有文件和有关文件不同版本的信息,以及有关工作副本的信息,这些文件是您实际使用的文件。
从检查文件和提交等简单的事情开始。提交文件就像说:“我有一个新文件或文件的新版本”。向他们展示如何使用最新版本更新文件。
也许你可以开始告诉他们关于主干、分支和标签、合并和所有爵士乐的事情。一个很好的资源是那些真正学到了一些东西的非程序员。他们可能会使用更适合其他非程序员的短语和类比。
【讨论】:
我发现这篇文章非常适合我们的新开发人员阅读。图表很好,信息也很简单。
Branch Merging With Subversion
真正的诀窍是让他们了解分支的重要性,任何人都可以轻松掌握修订控制本身的概念。
【讨论】: