自从加入团队后,开始使用SVN,以下是个人对SVN的一些认识和小结。
一、SVN是什么?
SVN是版本管理工具,譬如团队进行项目开发,项目代码都储存在服务器上,成员可用SVN在本地获得并更新代码。
二、SVN常用命令
Repository(源代码库)-源代码统一存放的地方;
Checkout (提取)-当你手上没有源代码的时候,你需要从repository checkout一份;
Commit (提交)-当你已经修改了代码,你就需要Commit到repository;
Update (更新)-当你已经Checkout了一份源代码, Update一下你就可以和Repository上的源代码同步,你手上的代码就会有最新的变更。
三、日常开发过程:
Update(获得最新的代码) -->作出自己的修改并调试成功 --> Commit(大家就可以看到你的修改了)。
四、如果两个程序员同时修改了同一个文件呢?
SVN可以Merge(合并)这两个程序员的改动,实际上SVN管理源代码是以行为单位的,就是说两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行呢,SVN会提示文件冲突(Confict),这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。
五、减少冲突需注意:
- 提交之前先更新。最好是随时修改随时提交。
- SVN提交前协调并分配好小组成员的工作计划。这样能尽可能的减少在开发过程中可能出现的冲突。
- 对SVN提交的信息采用明晰的标注。采用明晰的标注能够概要的描述所提交文件的信息,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。
- 不要提交自己不明白的代码,不要提交不能通过编译的代码。
- 不要提交本地生成的文件或其他文件,这些可以忽略文件的后缀名包括:
.SUO、.DLL、.PDB、.CACHE、.FORCE、.EXE、.TXT、.MDF、.LDF
六、遇到的问题:
1.提示文档被锁定,怎么办?
解决方法:出现这个问题后使用“清理”即"Clean up"功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。