原文:http://blog.sina.com.cn/s/blog_4abbf0ae0100x278.html

subclipse使用详解

(2012-01-11 11:22:41)

  • 安装插件:请参照http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA
  • 导出项目:可以把本机已存在的工程导入到SVN库中进行共享管理,具体是选中某个工程再右击选择 小组|共享项目...。在操作的过程中,默认以工程名为上传目录结构的根上传到代码库中,不过可以改名后再传。在操作的最后一步还是进行一次提交操作才能真真的把文件上传到服务器上去。
  • 图标说明:
    灰色向右箭头:本地修改过 
    蓝色向左箭头:SVN上修改过 
    灰色向右且中间有个加号的箭头:本地比SVN上多出的文件 
    蓝色向左且中间有个加号的箭头:SVN上比本地多出的文件 
    灰色向右且中间有个减号的箭头:本地删除了,而SVN上未删除的文件 
    蓝色向左且中间有个减号的箭头:SVN上删除了,而本地未删除的文件 
    红色双向箭头:SVN上修改过,本地也修改过的文件
  • 与代码库断开连接:可以与代码库断开,具体操作 右击|小组|断开连接...,在操作过程中可以删除svn相关管理文件,也可保留。
  • 导入项目:可以从代码库上把工程导到本地,个体操作 文件|导入...|SVN|从 SVN 检出项目。注:在此操作过程中有一个“选择检出的方式”选项,有两种,第一种是“做为新项目检出,并使用新建项目向导进行配置(仅当资源库中不存在.project工程文件时才可用,意思是如果代码库中有了这个工程文件,那么它就认为这是一个信息完整的工程,在导入的过程中就不需要再创建工程——选这选那的,因为.project工程文件中已包含了这一些列的信息,所以只有在代码库中不存在.project工程文件时才可选择)”;第二种是“做为工作空间中的项目检出”,这一选项不管代码库中是否有.project文件都是可以选择的,如果代码库中没有.project文件时,选择此种方式,会创建一个简单的工程,那不是Java工程,或其他代码工程,这种工程无不进行相应手工设置是不能进行相应开发的,所以在代码库上无.project工程文件导入时,最好选择前一选项,根据新建项目向导来进行相应设置并自动生成.project工程文件。
  • 更新操作:更新操作是把代码库最新的取到本地,不是是上传,上传操作是提交。
  • 添加文件或目录:如果将文件添加到项目中,它不会自动成为版本控制的一部分 —— 您需要明确将其添加到特定的存储库中。右击新文件,然后选择 Team > Add to Version Control。就是这样!下一次将此项目中的变更提交给存储库时,新文件也会检入。
  • 删除文件或目录:如果添加到了与项目不在相关文件,您可以轻松地删除它。右击文件,然后选择 Delete(subclipse没有对应的删除菜单),插件会自动从本地svn配置文件上删除该文件。不需要使用 Team 菜单,Subclipse 自动将标记要删除的文件,并将它从项目中移除。下一次将变更提交给存储库时,该文件被删除了。
  • 重命名文件或目录:要重命名 Subclipse 控制的文件或目录,请右击它,然后选择 Rename。在输入字段中键入项的新名称,按 Enter 键。你会发现它调用move命令修改文件名,但此时未还未正正修改配置库,需等特下次提交。注意,Subclipse 为 修改名后的“新” 文件添加的蓝色小加号而不是惊叹号。
  • 查看整个项目的修改的历史记录:选中工程,右击|小组|显示资源历史记录。
  • 退回修改文件或找回删除的文件:在历史记录中找到那条删除的日志,在日志上 右击|从修订版本XX回复更改。
  • 覆盖/更新:在Synchronize with Repository后,可对修改过的文件进行覆盖/更新操作,即用库上的代码覆盖本地代码。
  • 在提交你的变化之前,你可能想看一下自从你的上次更新以来是否服务器上有任何文件被修改,想要对比本地和服务器上的源代码,请使用Team——Synchronize with Repository。这个命令让你看到有哪些内容已经被局部地修改,有哪些内容在服务器上修改,以及这两种修改之间的任何冲突。你还可以以可视化方式看到冲突的版本,并且在提交你的变化之前纠正任何比较突出的冲突。
  • 忽略文件:如果项目生成文件,或者包括您不想检入的 Subversion 存储库文件,则可以通知 Subclipse 忽略它们。右击您要在版本控制中排除的文件或目录,然后选择 Team > Add to svn:ignore 即可显示Add to svn:ignore 对话框。
  • 提交更改:如果您对项目的变更感到满意,确定了您的代码可以编译,并且已经对变更进行测试,则应将它们提交给 Subversion 存储库。
  • 对于一个 myeclipse 建立的工程,我们只希望控制必要的源码,而下面几个文件和文件夹要加入到 svn 的忽略列表。当一个文件已经受版本控制之后,就不能在加入忽略列表了,只有新建的文件才可以加入忽略列表。
    要忽略的文件和文件夹:.myeclipse .settings .classpath .mymetadata .project classes
  • 不要把class目录上传到服务器上,起初我没有删掉它,更改提交没有问题,但在更新时总是报错:……Working copy not locked; this is probably a bug, please report svn:……,提示就是class目录下的.svn有毛病。原因可能是在Eclipse编译时,将src目录下的svn配置一起编译到了class文件中,并且在编译时先会删除class中的内容,再编译,这就导致了本地配置与配置库上不一致。需要注意的是,请不要将动态生成的目录添加到SVN,否则其他人Check out的之后,再Update容易出错,例如class目录,不需要提交上去。

  • svn:need-lock属性,可以用来在文件(例如,对二进制文件非常有用)上强加排斥锁。一个定义了svn:need-lock属性的文件一次只能被一个人修改。当该文件被检出时,它是只读的。如果你想修改该文件,你需要首先使用"Team>Lock"菜单选项。之后,使用"Team> Unlock"释放该文件,或仅提交你的变化,也会释放锁,但别人的文件还是只读的,只有别人在获取了锁之后,再能修改该文件。其实该属性以一种强迫的属形势让用户在修改前一定要选获取锁,再能修改该文件,这样就不需要等到提交时再发现早已被别人锁住了。

  • Tag和Branch:在Subversion中,很容易创建新的tag和branch。你可以使用tag来标识一个特定的版本(使用一种可读的名字,例如"Release 1.0");而一个branch用于新的开发工作而不影响主源码基(称作trunk)。在一个branch上的开发仍会继续进行,直到开发者已经为把变化集成回主trunk作好准备。
    在Subversion中,branch和tag都是通过制作给定修订的一个虚拟副本(以另一个名字和/或另一个目录)创建的。在常规情况下,branch存储在branches目录下,tag位于tags目录下,尽管在实践中为了满足你的工程你可以使用自己的任何定制。
    从Eclipse中,"Team>Branch/Tag"菜单能够使你创建branch和tag。其中,Browse按钮提供了一种方便的方法来查看有哪些branch和tag存在于仓库中。
    当你使用"Team>Switch"创建成功一个新的branch或tag时,你可以非常容易地在branches之间进行切换。无论何时你切换到一个不同的branch(或返回到trunk),Subversion将仅更新文件(它需要保持你的当前工作的副本与目的branch之间的同步)。

subclipse使用详解相关推荐

  1. SVN删除文件及其恢复问题详解

    SVN删除文件及其恢复问题详解 转自:http://developer.51cto.com/art/201006/203161.htm 本节我们一起来学习一下SVN删除文件及其恢复问题,和大家分享一下 ...

  2. Java开发环境搭建详解

    Java开发环境搭建详解  http://topic.csdn.net/u/20110829/13/BF4FAA45-3E1A-48A8-BC46-0405B7F862A2.html 一.jdk安装与 ...

  3. Linux系统下SVN服务器的搭建过程详解 UpJ}s7+

    Linux系统下SVN服务器的搭建过程详解 UpJ}s7+   1 环境:  服务器放在redhatAS4.0上,客户端在windows 2000. k_lb"5z   Z]jSq@%1H* ...

  4. 从命令行到IDE,版本管理工具Git详解(远程仓库创建+命令行讲解+IDEA集成使用)

    首先,Git已经并不只是GitHub,而是所有基于Git的平台,只要在你的电脑上面下载了Git,你就可以通过Git去管理"基于Git的平台"上的代码,常用的平台有GitHub.Gi ...

  5. JVM年轻代,老年代,永久代详解​​​​​​​

    秉承不重复造轮子的原则,查看印象笔记分享连接↓↓↓↓ 传送门:JVM年轻代,老年代,永久代详解 速读摘要 最近被问到了这个问题,解释的不是很清晰,有一些概念略微模糊,在此进行整理和记录,分享给大家.在 ...

  6. docker常用命令详解

    docker常用命令详解 本文只记录docker命令在大部分情境下的使用,如果想了解每一个选项的细节,请参考官方文档,这里只作为自己以后的备忘记录下来. 根据自己的理解,总的来说分为以下几种: Doc ...

  7. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  8. 深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG) 优化算法

    深度学习优化函数详解系列目录 深度学习优化函数详解(0)– 线性回归问题 深度学习优化函数详解(1)– Gradient Descent 梯度下降法 深度学习优化函数详解(2)– SGD 随机梯度下降 ...

  9. CUDA之nvidia-smi命令详解---gpu

    nvidia-smi是用来查看GPU使用情况的.我常用这个命令判断哪几块GPU空闲,但是最近的GPU使用状态让我很困惑,于是把nvidia-smi命令显示的GPU使用表中各个内容的具体含义解释一下. ...

最新文章

  1. 混合托管:第三代云计算
  2. 调度场算法与逆波兰表达式
  3. C++函数概念解析(1)
  4. 教你使用 IDEA 配置和运行vue项目
  5. 移动开发利器——APICloud开发平台介绍
  6. VC9、VC11、VC14、VC15库 最新下载链接
  7. Vivado里程序固化详细教程
  8. gdi win7奔溃_win7 64位操作系统,新安装的软件一打开就崩溃,故障模块“StackHash_0a9e”,有大神知道是什么问题吗...
  9. JAVA 类和对象的实例
  10. 测试开发人员与开发人员_我是真正的开发人员还是优秀的Googler?
  11. QIIME 2教程. 07Cell帕金森小鼠Parkinson's Mouse(2021.2,最佳实战)
  12. 分享我见到的培训面试和就业的情况(同时给出建议)
  13. SpringBoot指定额外需要扫描的包
  14. 计算机培训考试内容,计算机等级考试的科目和内容解析
  15. 关于poi/Npoi创建批注后,EXCEL不能显示,wps能显示的问题
  16. 《公司的力量》第一集 公司!公司!
  17. js控制文件拖拽,获取拖拽内容
  18. 什么是线程池以及线程池的好处
  19. 头条估值750亿美元仅次于BAT蚂蚁!张一鸣如何继续跳动?
  20. MySQL 的物理备份、逻辑备份、增量备份

热门文章

  1. Excel数据透视表笔记
  2. IPV6重复地址检测(DAD)
  3. keil5安装及注册许可
  4. 7 RRC Measurement -- 测量报告
  5. tomcat重启命令操作
  6. 利用JS制作简易计算器
  7. “CSDN 2022 中国开发者影响力年度评选”正式开启报名!
  8. com.ctc.wstx.exc.WstxUnexpectedCharException:Unexpected错误解决
  9. CAS 密码盐值加密
  10. H5网页元素和全局属性