《SVN系列教程-第五章-IDEA集成SVN的使用》
《SVN系列教程-第五章-IDEA集成SVN的使用》4)打开Settings—>Version Control;选择添加需要控制的项目:5)添加成功:1.1.2 提交项目1)在需要提交的项目右键—>Subversion—>Share Directory...2)选择要提交到的分支:3)提交项目:1.2.3 忽略文件我们在开发工具创建项目或者模块时,开发工具会有一些默认的项目配置文
教程说明
- 本系列教程目录大纲:《SVN系列教程-目录大纲》
文章目录
《SVN系列教程-第五章-IDEA集成SVN的使用》
五、idea集成SVN插件
5.1 SVN插件基本使用
在xiaohui工作空间创建一个新的项目:
5.1.1 绑定SVN插件
1)打开Settings
—>Version Control
—>Subversion
;选择SVN命令
2)打开VCS
—>Enable Version Control Integration...
;开启版本控制:
3)选择Subversion:
4)打开Settings
—>Version Control
;选择添加需要控制的项目:
5)添加成功:
5.1.2 提交项目
1)在需要提交的项目右键—>Subversion
—>Share Directory...
2)选择要提交到的分支:
3)提交项目:
查看VisualSVN:
项目提交成功;
5.2.3 忽略文件
我们在开发工具创建项目或者模块时,开发工具会有一些默认的项目配置文件,如.idea
文件夹、.iml
文件等,这些都是供idea识别的配置文件,其中内容包含项目所在的磁盘地址、模块信息等;每个开发人员实际的存放的项目磁盘地址很可能是不一样的,我们应该把这些与项目本身无关的文件忽略掉,不应该提交到svn服务器;
Tips:.gitignore文件是Git用来忽略文件用的,SVN不可用,所以我们将其忽略;
- 打开
Settings
—>Editor
—>File Types
:
选择要忽略的文件:
添加忽略后,发现项目中的.idea
文件夹不见了:
删除SVN仓库中的项目:
删除项目中的.idea
、.svn
、.iml
、.gitignore
等项目相关的配置文件:
重新打开项目,按照我们之前的方式重新分享到SVN服务器中;
重新提交后,查看VisualSVN服务器:
5.1.4 检出项目
一般情况下,我们进入公司项目组开发,都是检出公司中已有的项目进行开发;
我们在打开idea界面时选择Get from VCS
,如图所示:
5.1.5 其他操作
SVN的大多数操作都在Subversion
菜单中:
5.2 解决冲突
5.2.1 模拟冲突
- 1)在xiaohui工作目录创建Demo01.java
文件内容:
public class Demo01 {
public static void main(String[] args) {
System.out.println(111);
}
}
- 2)执行add、commit操作;
- 3)在xiaolan工作空间执行update:
- 4)在xiaolan工作空间修改文件内容:
public class Demo01 {
public static void main(String[] args) {
System.out.println(111222);
}
}
- 5)提交
- 6)在xiaohui工作目录修改Demo01.java
文件内容:
public class Demo01 {
public static void main(String[] args) {
System.out.println(111333);
}
}
7)执行update(此时与svn服务器中的文件内容不一样),出现冲突
5.2.2 解决冲突
解决冲突之后,记得要提交:
可以在xiaolan工作空间更新最新的代码;
5.3 回退版本
5.3.1 查看历史提交版本
1)查看历史回退
作者之所以都是xiaohui,那是因为我们都是通过xiaohui的账号拉取项目到本地空间的;
2)切换账号
删除xiaolan工作空间的项目,我们使用xiaolan账号来重新检出一份;
关闭所有项目,打开IDEA全局设置:
在xiaolan工作空间编辑代码,提交,查看日志:
public class Demo01 {
public static void main(String[] args) {
System.out.println(111333);
System.out.println(111222);
System.out.println(333333);
}
}
此时idea保存的凭证就是xiaolan的凭证,使用idea进行提交之后(不管是xiaohui还是xiaolan工作空间),作者将会显示xiaolan
5.3.2 回退版本
在xiaolan工作空间操作
1)工作空间回退
工作空间回退只是将工作空间的代码回退到指定版本,一般用于查看某个版本的代码,回退之后即使编辑了也不可提交;
选择文件右键,更新文件:
选择指定版本回退:
点击OK
将工作空间回退到指定版本:
编辑代码后提交,出现旧版本冲突:
2)历史回退
按之前的方式重新回退到最新版本;
查看历史版本,在指定的版本上右击—>Get:
编辑Demo01.java:
public class Demo01 {
public static void main(String[] args) {
System.out.println(111333);
System.out.println(111222);
System.out.println(000000);
}
}
使用xiaohui工作空间,执行update,发现代码被更新到本地了;
5.6 分支操作
在xiaolan工作空间重新创建一个项目Demo,使用之前的方法分享到SVN服务器;
5.6.1 拷贝分支
首先将trunk分支下的Demo01项目拷贝到branches/test分支下:
查看VisualSVN:
检出test分支下的Demo01项目到xiaohui工作目录中:
选择检出的磁盘路径:
5.6.2 合并分支
合并分支就是将其他分支的代码合并到指定分支中;
- 1)在xiaolan工作空间,编辑内容如下,并提交:
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
System.out.println("111");
}
}
- 2)在xiaohui工作空间合并xiaolan工作空间;
xiaohui工作空间是test分支的代码,xiaolan工作空间是trunk分支的代码,现在需要将truck分支的代码合并到test分支中:
Tips:
- 1)是谁要合并别人的代码,就在谁的项目上右键
- 2)合并分支代码时,必须保证当前工作空间版本是最新的
在xiaohui工作空间的项目右键—>Subversion
—>Integrate Director
:
合并完成,在xiaohui工作空间提交:
- 3)将test分支的代码合并到trunck分支
修改xiaohui工作空间的代码,然后提交:
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
System.out.println("111");
System.out.println("222");
}
}
然后再xiaolan工作空间项目处右键—>Subversion
—>Integrate Director
:
提交xiaolan工作空间刚刚合并的代码:
5.6.3 合并分支注意事项
当需要合并的分支代码代码与本地工作空间的代码不一致时,那么本地空间的代码将会被覆盖掉;
- 1)修改xiaolan工作空间(trunck分支)的代码:
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
System.out.println("111");
System.out.println("222aaa");
}
}
提交项目;
- 2)修改xiaohui工作空间(test分支)的代码:
public class Main {
public static void main(String[] args) {
System.out.println("Hello world!");
System.out.println("111");
System.out.println("222bbb");
}
}
提交项目;
使用trunck分支(xiaolan)合并test分支(xiaohui),在xiaolan工作空间项目处右键:
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)