话说本人以前除了 Visual Studio 以外,一个 IDE 也没接触过……作 WP 开发时都是用 UltraEdit 等易上手白痴都会的轻量级编辑器的~程序员
应该有很多程序员或者爱好者熟识 NetBeans 这款 Oracle 旗下的开源 IDE 吧,我也抱着尝鲜的态度试用了下,首先吓到个人是它超大的内存占用,还有拖沓的速度(原来习惯把程序作的卡卡的公司不止微软一家啊),但代码自动完成、错误提示、代码重构功能很不错(惋惜重构在 WordPress 下不太好用),最吸引个人是它与版本控制结合的很好,默认就提供了对 CVS、Mercurial、SubVersion 的支持。服务器
以前常常看见有些童鞋使用版本控制帮助本身码代码,这可比之前我想起来就 WinRAR 打包一份强多了(再用一次括号宣传下,用盗版软件是不对滴,推荐各位使用免费又强大的 7zip,善用佳软的介绍请按此),由于版本控制能够看到每一个版本间的细微更改,回溯任意文件,对团队开发来讲意义更大,成员们能够放心的编写代码而没必要过于担忧同步、合并、冲突的事情。编辑器
还看过有童鞋使用 Dropbox 进行版本控制,排除 Dropbox 就根本不存在的缘由外,咱们的校园网十二点后但是要断网的,这段时间怎么提交更新呢?因此我决定使用易用的 SubVersion。svn
1、建立版本库与 NetBeans 设定
先在这里并安装找到适合操做系统的 SubVersion,全名是 CollabNet Subversion Edge,我竟然点到了 Command-Line Client 上,折腾了半个多小时也找不到创建版本库的功能 。函数
前面说过,NetBeans 与版本控制配合得很好,因此只要安装 SubVersion 就能够啦,至于乌龟神马的彻底不须要 。工具
SubVersion 自带了 Apache,因此咱们能够经过它创建的捷径访问后台(固然是 localhost 上咯,端口不知道是否是都同样),初始用户名与密码都是 admin,幸亏后台是中文的。oop
首先要作的,是配置好 SubVersion 的版本库父文件夹。按个人理解,建立一个版本库能够看做是添加一个新项目,SubVersion 的多数操做都是针对版本库进行的。spa
选择“管理” – “服务器配置”,在“版本库父文件夹”键入你要放置版本库的文件夹,这个文件夹并非你开发时使用的文件夹,而是记录一个版本库的配置、修订版本和锁定状态的资料库,版本库与项目文件夹就比如是档案馆与你的家的关系。操作系统
下一步是建立新版本库。选择“版本库” – “新版本库”,键入版本库的名字,单击“建立”。“建立标准的主干 / 分支 / 标签结构”根据你我的喜爱勾选,不过仍是推荐建立啦,这样版本会更加有序。.net
建立版本库后,你就能够在刚才设置的版本库父文件夹中找到你的版本库咯。
之后就不要随意修改此文件夹中的内容了,以避免形成不可挽回的损失唷!
从如今开始就能够在 NetBeans 中设定 SubVersion 了。
打开 NetBeans,选择“工具” – “选项” – “其余”,在左边选择“Subversion”,键入 SVN 可执行文件的路径(例如,C:\Program Files\csvn\bin),单击“肯定”保存。
2、导入版本库
下面咱们就要在 NetBeans 中把资料导入版本库里啦!假设咱们要进行版本控制的项目的目录位于 D:\test\,按以下步骤进行:
- 选择要进行版本控制的项目;
- 选择“团队开发” – “Subversion” – “导入到资源库中…”,打开导入窗口;
- 输入资源库 URL,直接从 SubVersion 后台的版本库列表“检出命令”复制就可,例如
http://RayChow-PC:81/svn/test
再键入用户名与密码,单击“下一步”;
- NetBeans 会尝试链接 SubVersion 库,以后选择导入到 trunk 资源库,并键入指定消息。之后每次提交都输入消息是一个好习惯,这样你就知道每次更新了什么;
- 最后一步 NetBeans 询问你须要导入到文件,能够看见他把本身建立的文件都列出来了。通常都要所有导入啦;
- 单击“完成”,能够看见项目列表中被导入的文件变为绿色,导入成功后再次恢复黑色。
访问刚才输入的资源库 URL 能够看见汇入的项目,这些目录和文件已被记录在案,任什么时候候你都能调出查看,哪怕他们在项目中已被修改或删除。
至此,版本库准备完毕。
3、签出工做拷贝
什么叫作签出工做拷贝呢?按个人理解,签出就是把版本库中项目的最新版本完整的下载到本地,并与版本库创建联系,这样才能完成“提交”工做。
因为第二点中导入操做已经使项目文件夹与版本库创建了联系,所以第二点操做完成后不须要再进行签出。
在你更换项目文件夹、有其余人或其它电脑加入到你的项目中时,就须要签出来得到最新版本了。
NetBeans 进行签出工做也很简单,按以下步骤进行:
- 选择要签出到的项目;
- 选择“团队开发” – “Subversion” – “签出…”,打开签出窗口;
- 输入资源库 URL、用户名、密码,与第二点中相同;
- “要签出的文件夹”这一步,资源库文件夹选择你须要签出的文件夹,例如 trunk;
资源库修订通常留空,表示获取最新版本;
因为刚才选定了 trunk 文件夹,因此勾选 跳过“trunk”且仅签出其内容,能够看见“工做副本”发生变化; - 单击“完成”,进行签出。
4、颜色
一旦项目中的文件做出修改,项目窗口中的文件名会根据如下规则改变样式:
- 绿色:新加入的文件;
- 蓝色:被修改的文件;
- 红色:有冲突的文件;
- 灰色:被忽略的文件;
- 删除线:提交时被排除的文件。
5、提交
提交是将本地项目作出的修改应用到版本库的过程。
按以下步骤进行:
6、更新
更新是检查版本库的文件自上次同步后有无改变的过程。按个人理解,更新会下载版本库中新建的文件、替换上次同步后本地未做出修改而版本库版本更新的文件、删除上次同步后本地仍存在而版本库中已被删除的文件,并标示有冲突的文件。
若是是团队开发,应该常常检查更新;若是是我的开发,更新一万次也没有做用……
7、冲突
冲突是指上次同步后本地对某文件做出修改,提交时版本库中的版本比本地更新而致使冲突的状况。例如,我在 A 文件添加了函数 B,但提交时发现同事 C 已经在 A 文件修改了 类 D 并做出了提交,此时 A 文件已经不能继续提交了,不然会覆盖同事 C 的修改。
在更新后若是发现冲突,NetBeans 会列出冲突的地方,在右下方的版本输出控制窗口中右击文件选择“解决冲突”能够更直观的对比并解决冲突,或者……干脆直接放弃你的修改。
8、显示更改 与 比较
这两个功能在我看来没有太大区别,都是用来查阅上次更新后本地作出的修改的,惟一的不一样是:“显示更改”只会列出被修改的文件,双击文件能够查看详细对比,而“比较”则直接显示列表与详细对比。
9、还原修改
假定在比较以后你发现对某个文件的全部修改都是错误的,或许根本不该该修改这个文件,或者是从开头从新修改会更加容易,就是使用“还原修改”的时候了。
- 还本来地修改:将文件还原到未修改的状态,从文件所在文件夹的 .svn 目录中直接复制,不通过服务器;
- 根据单个提交还原修改:从版本库中得到指定的版本,若是有冲突还须要解决;
- 根据早期的提交还原更改:我还不清楚……彷佛会把起始与结束的版本都拉回来,再丢给你解决冲突。
10、基本的工做周期
平常使用时,通常按照如下步骤进行版本控制:
- 检出或更新你的工做拷贝;
- 做出修改。请注意,对于工做拷贝的目录操做(如增长、删除、移动、复制)最好在 NetBeans 中进行,或者经过 svn 命令直接操做,若是直接使用不相关的文件管理工具操做,可能会致使错误;
- 检查更改(即第六点);
- 若是有必要,还原修改;
- 若是存在冲突,则解决;
- 提交更改。
以上操做都可以使用 NetBeans 方便的完成。