//版本控制软件目前很多而流行的是 CVS 和 SVNSVN 是后起之秀有取代 CVS 的趋势。
//版本控制的错误意识之一一个人的微型软件作坊用不上版本控制软件。 解释版本控制的概念自然是绕不过去的而版本控制软件完全可以不用。但是1版本控制软件一个人是完全可以用的不是非得在团队开发时才想起它2即使是一个人开发软件使用版本控制软件来管理代码也会带来很大的益处。
//版本控制的错误意识之二版本控制系统只能建构在独立的一台机器上。 解释目前流行的 CVS 和 SVN 版本管理系统的确主要应用在 C/S 模式下但并不是不能用浏览器来管理例如 SVN 就可以通过 Webdav 协议来远程管理 www 服务方式的 SVN更可以通过浏览器直接浏览版本库里的内容。 但是即使是这样也不是说版本控制系统必须/一定/只能建构在独立的一台机器上。实际上 1版本控制库完全可以建立在自己的机器上本地版本库然后自己用。 2建立版本控制系统也不是必须使用专门的 SVN Server 软件现在的“乌龟SVN客户端”既可以作为客户端与 SVN Server例如 VisualSVN Server配合它自己也可以提供服务从而建立一个完全功能的、本地管理的版本控制系统。
//版本控制的错误意识之三有了版本控制软件就不会出现版本问题。 解释绝对不是正是因为版本控制问题太复杂了才引入版本控制软件来辅助管理。注意我这里说的是“辅助”因为人永远是软件开发和管理这种生产活动中最重要和最具能动性的因素软件永远都是人的奴才和工具。 注意版本管理软件能且只能管理和协调文本级别的代码问题例如冲突、合并、更新等等纠正程序逻辑错误根本不是它的事情这意味着即使团队里所有人和“SVN”都认可你写的代码但这些代码导出后发行到客户手里也不见得是可用的。
//版本控制的错误意识之四有了版本控制软件软件团队里的程序员就不用花时间交流了。 解释错版本控制软件永远代替不了交流况且交流往往是逻辑和业务层面的这些事情版本管理软件根本无能为力。事实上即使在版本控制系统的管理下程序员也需要在部分代码修改后尽量想法通知别的程序员而不是全部依赖版本控制系统的日志这样将减少解决代码文本冲突的机会。解决版本冲突是版本控制系统最重要和复杂的功能之一它能辅助我们解决问题但最终解决问题的是人而这需要时间和人的沟通也就是说需要耗费成本。
//版本控制的伎俩之一并不是工程中所有的文件都必须和需要纳入版本控制中。那些不需要程序员控制和管理的软件测试中的数据文件等等数量很大字节数也很大纳入版本控制系统中没必要也不允许。
//小知识之一为什么使用版本管理软件
1你是否在一个团队中工作 2是否发生过这样的情况: 当你在修改一个文件时其他人也在修改这个文件而你是否因此丢失过自己所作的修改呢 3是否曾经保存完一个修改然后又想把个文件恢复到修改以前的状态是否曾经希望能够看到一个文件以前某个时间点的状态 4是否曾经在项目中发现了一个 BUG然后想调查它是什么时候产生的
如果以上问题中的任何一个回答“是”的话那么就有必要使用版本管理软件了。
//小知识之二有人说SVN 管理客户端就是 Tortoise SVN 软件是不是
这话偏了。说“乌龟SVN客户端是SVN管理客户端”是对的反推回来的结论是不对的因为 SVN 管理客户端很多“乌龟”只是很流行的一种当然很优秀了。实际上如果有必要和可能你也可以开发一个你自己的 SVN 客户端来问题是有必要吗你能吗
来自“网眼视界”http://blog.why100000.com “十万个为什么”电脑学习网http://www.why100000.com
转:https://www.cnblogs.com/baiduligang/p/4247606.html