zoukankan      html  css  js  c++  java
  • SVN — subclipse操作指引(eclipse中SVN插件的使用)

    myself:

    1、svn报错 Previous operation has not finished; run 'cleanup' if it was interrupted

    选择你的项目,右键,小组(Team),刷新或清理(Refresh or Clean)即可。

    或者直接到项目目录下,执行Tortoise SVN--》clean。

    2、svn is already locked解决方案:

    在出错文件夹下,鼠标右键TortoiseSVN->Clean up.
    SVN错误:Attempted to lock an already-locked dir
    出现这个问题后使用“清理”功能,如果还不行,就直接到上一级目录,再执行“清理”,然后再“更新”。

    3、对于maven项目,一般提交到svn或github上去,都是只提交src目录(源代码目录)和pom.xml文件而已,

    但是你从服务器checkout项目下来之后,会多了一些本地配置,这些配置会作为项目的新增加的内容提示要该项目已更改,

    其实我们是不需要这些本地配置的。

    那么,应该如何解决呢?-->使用“添加至 svn:ignore”功能,将这些内容屏蔽掉。

    internet:

    发布或编译:采用export,不会引入svn的附加文件.
    修改和提交:采用checkout,会在本地建立一个工作区.

      • 安装插件:请参照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之间的同步)。

      • 修订历史:你跟踪你的源码的变化。"Team>Show in Resource History"菜单选项能够使你查询这些变化的列表(包括对一个文件,目录或甚至整个工程的改。

    转载自:http://jiangzhengjun.iteye.com/blog/491824

  • 相关阅读:
    编写登陆认证程序
    Ubuntu18.04安装MySQL
    python输出的高亮显示
    河北省赛
    dp
    迷宫问题
    牛客-幸运数字Ⅱ
    [管理运筹学]线性规划&单纯形法的各种姿势(题目:[NOI2008]志愿者招募)
    [管理运筹学]指派问题的匈牙利算法及其c++实现 (例:「网络流 24 题」分配问题 )
    打算在CSDN写了,虽然博客园也很好
  • 原文地址:https://www.cnblogs.com/cyh123/p/3229439.html
Copyright © 2011-2022 走看看