Eclipse中trunk与branch与tag使用

eclipse中利用svn创建、合并、切换分支 立即下载

原文正文

读了 Mark Phippard 的博客以及《Subversion 与版本控制》之后,我了解到 分支/标签 是 SVN 很棒的特性之一。但我在使用推荐的 "trunk"、"branches"以及"tags"文件夹创建我自己的目录结构的时候颇是花了一点时间。本文将分步介绍创建  Subclipse 项目然后建立一个分支。本文假定你已经安装好了 Subclipse 并建立了一个 SVN 仓库。如果你还没有,参考《集成 SVN 插件到 Eclipse 全过程》。

1. 把你的 Eclipse 项目添加到 SVN 仓库里的一个 "trunk" 文件夹中

  • 从一个名为 "myproject" 的 Eclipse 项目开始;
  • 在 "Navigator" 窗口中,右击你的项目,选择 "Team" -> "Share Project...";
  • 选中 "SVN" 然后点击 "Next";
  • 选中你的 SVN 仓库(本文假定使用的仓库在 "svn://localhost")然后点击 "Next";
  • 在 "Enter Folder Name" 对话框中,选中 "Use specified folder name" 选项并输入 "myproject/trunk"。 "URL:" 框会有类似于"svn://localhost/myproject/trunk"的显示。点击 "Next";
  • 点击 "Finish"。将会打开一个新的对话框。选中你要提交的所有文件,输入一个注释,然后点击 "OK"。我的 Eclipse 的 "Console" 有以下输出:
 
  1. Filesystem has no item

  2. svn: URL 'svn://localhost/myproject/trunk' non-existent in that revision

  3.  
  4. Bad URL passed to RA layer

  5. svn: URL 'svn://localhost/myproject' non-existent in revision '234'

  6.  
  7. mkdir -m "Initial import." svn://localhost/myproject

  8. mkdir -m "Initial import." svn://localhost/myproject/trunk

  9. checkout -N -r HEAD svn://localhost/myproject/trunk

  10. Checked out revision 236.

  11. add -N C:\path\to\myproject\.settings

  12. A C:/path/to/myproject/.settings

  13. add -N C:\path\to\myproject\.settings\org.eclipse.cdt.core.prefs

  14. A C:/path/to/myproject/.settings/org.eclipse.cdt.core.prefs

  15. add -N C:\path\to\myproject\.cdtbuild

  16. A C:/path/to/myproject/.cdtbuild

  17. add -N C:\path\to\myproject\.settings\org.eclipse.cdt.managedbuilder.core.prefs

  18. A

  19. C:/path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs

  20. add -N C:\path\to\myproject\.cdtproject

  21. A C:/path/to/myproject/.cdtproject

  22. add -N C:\path\to\myproject\.project

  23. A C:/path/to/myproject/.project

  24. commit -m "Initial import." C:/path/to/myproject/.cdtbuild C:/path/to/myproject/.cdtproject C:/path/to/myproject/.project C:/path/to/myproject/.settings C:/path/to/myproject/.settings/org.eclipse.cdt.core.prefs C:/path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs

  25. Adding path/to/myproject/.cdtbuild

  26. Adding path/to/myproject/.cdtproject

  27. Adding path/to/myproject/.project

  28. Adding path/to/myproject/.settings

  29. Adding path/to/myproject/.settings/org.eclipse.cdt.core.prefs

  30. Adding path/to/myproject/.settings/org.eclipse.cdt.managedbuilder.core.prefs

  31. Transmitting file data ...

  32. Committed revision 237.

 

2. 在 SVN 仓库中创建 "branches" 和 "tags" 文件夹

  • 切换到 "SVN Repository Exploring" 视图模式(Eclipse -> 点击 "Window" 菜单 -> 选择 "Open Perspective" -> "Other..." -> 在打开的 "Open perspective" 对话框中选中 "SVN Repository Exploring" 并点击 "OK");
  • 在 "SVN Repository" 窗口中,展开 SVN 树并右击 "myproject" -> 选择 "New" -> "New remote folder";
  • 在 "Create a new remote folder" 对话框中,展开 SVN 树并选中 "myproject"。"Folder name:" 输入 "branches"。点击 "Next";
  • 现在打开 "myproject" 目录可以看到 "branches" 和  "trunk" 子目录;
  • 我的 Eclipse 控制台有以下输出:
mkdir -m "Created branches folder." svn://localhost/myproject/branches

 

  • 重复这几步来创建一个 "tags" 目录;

3. 创建一个分支

  • 切换回原来的视图模式;
  • 在分支中提交任何你想要的修改;
  • 在 "Navigator" 窗口中右击你的项目,选择 "Team" -> "Update";
  • 右击你的项目然后选择 "Team" -> "Branch/Tag...";
  • 弹出的 "Copy (Branch/Tag)" 对话框中,"To URL:" 文本框输入 "svn://localhost/myproject/branches/mybranch"("From WC at URL:" 应该显示为 "svn://localhost/myproject/trunk");
  • 保留 "HEAD revision in the repository" 选项的选中状态,输入一条注释,然后点击 "OK";
  • 我的 Eclipse 控制台输出如下:
copy -rHEAD svn://localhost/myproject/trunk svn://localhost/myproject/branches/mybranch

 

4. 切换你的工作副本到分支

  • 你现在可以随意在主干和分支之间切换你的工作副本了;
  • 右击你的项目,选择 "Team" -> "Switch to another Branch/Tag...";
  • "To URL:" 文本框输入 "svn://localhost/myproject/branches/mybranch",点击 "OK";
  • 我的控制台输出如下:
switch svn://localhost/myproject/branches/mybranch C:/path/to/myproject -rHEAD At revision 239.

 

5. 现在你就可以使用《Subclipse 分支和标签支持加强版》中讨论的那些特性了

本文开分支步骤参考自《如何使用 Subclipse 建分支》。

原文链接:http://www.saltycrane.com/blog/2007/03/how-to-setup-subclipse-project-to/。

 

译者续文

作者写这篇文章的时间是 07 年,那会 Eclipse 才出到 3.3(现在已经 4.4 了),Subclipse 也就出到 1.3.1(现在已经出到 2.0 了)。所以原文很多步骤都不太适合最新版本的 svn 插件了。所以译者在原作者的基础上,结合最新版的 Eclipse/Subclipse,对原文做了一些改进,以备自己参考,同时也希望可以方便到更多的同行。译者的 Eclipse 版本是 4.4.1(也就是 luna-SR1),Subclipse 版本是 2.0.1,这些都是截至本文发博日为止最新版的。以下是译者实际操作的步骤记录。

1. 把你的 Eclipse 项目添加到 SVN 仓库里的一个 "trunk" 文件夹中

  • 从一个名为 "swifton" 的 Eclipse 项目开始;
  • 在 "Navigator" 窗口中,右击你的项目,选择 "Team" -> "Share Project...";
  • 选中 "SVN" 然后点击 "Next";
  • 选中你的 SVN 仓库(本文假定使用的仓库在 "svn://localhost")然后点击 "Next";
  • 这时进入了 "Specify the project(s) location" 步骤;
  • 选择 "Advanced Mode:" -> "Name on Repository" 选择 "Use project name"(你也可以给它取个别名,如果你不怕项目多了混淆的话。译者喜欢所见即所得模式,保留项目名),"Project Repository Layout" 框选择 "Use single project layout"(你也可以选择 "Use Repository Location Layout",一个 trunk 下面有多个项目。译者手底下目前只有这一个项目,所以选择一个项目下一个 trunk 的模式,以后增加项目的话,同目录下加项目然后挨个建 trunk),勾选上 "Use Subversion recommended layout ('trunk','branches' and 'tags')":

Specify the project(s) location

  • 点击 "Finish"。将会打开一个新的对话框。选中你要提交的所有文件,输入一个注释,然后点击 "OK";
  • 切换到 "SVN Repository Exploring" 视图模式(Eclipse -> 点击 "Window" 菜单 -> 选择 "Open Perspective" -> "Other..." -> 在打开的 "Open perspective" 对话框中选中 "SVN Repository Exploring" 并点击 "OK");
  • 可以看到 swifton 项目 SVN 仓库的主干、分支、标签都已经建好;
  • 这是 TortoiseSVN 的查看结果:

TortoiseSVN
由此看来,原来 3 步才能完成的事情,如今一步即可,不愧是 Subclipse 最新版。

2. 创建一个分支

  • 切换回原来的视图模式;
  • 在分支中提交任何你想要的修改;
  • 在 "Navigator" 窗口中右击你的项目,选择 "Team" -> "Update";
  • 右击你的项目然后选择 "Team" -> "Branch..." 
  • 弹出 "Create Branch" 对话框中
  • "Branch:" 输入 "swifton1217"(分支名随便起。译者在项目名后面加的日期代表在该日下建的一个分支),勾选 "Start working in the branch"(可选项。译者准备在该分支下进行开发,所以选中):

create_branch_swifton1217

  • 输入一个注释,然后点击 "OK"。等待 SVN 仓库创建分支结束;
  • Eclipse 的 Navigator 窗口可以看出你现在已经在 swifton1217 分支副本下进行开发了:

navigator_swifton1217

 

  • 切换到 "SVN Repository Exploring" 视图模式,可以看到 swifton1217 分支下已经有了一个该项目的副本:

 

SVN_Repository_Exploring_swifton1217

300Kg载重履带式无人车底盘定制开发技术详解 通过精准的需求分析、科学的方案设计、严格的研发与测试以及完善的交付与培训流程,可以打造出符合客户需求的优质产品。300Kg载重履带式无人车底盘的定制开发,旨在打造一款承载能力强、行驶稳定、适应复杂地形的无人运输平台。根据应用场景选择合适的动力源,并进行性能优化,确保无人车在载重情况下仍能保持稳定的行驶速度和动力输出。根据需求分析结果,设计无人车底盘的总体方案,包括动力系统选择、结构设计、负载管理策略等。进行详细的研发工作,包括零部件的选型与采购、样机的制作与调试等。 阅读详情

相关推荐

redhawk-sc(seascape)学习日志2

design view是主view,是所有seascape view中最root的部分,一个design view可以驱动多种类型分析比如静态IR drop,动态IR drop以及EM.这些分析可以在不同的PVT和翻转率下.Design view是一个必须的view对于redhawk中的任何类型分析来说。seascape view相当于一个容器,用于保存各种和设计相关的数据,类似于逻辑信息、物理信息等等,每个view都有其对应的输入件和依赖,这些view都是redhawk用于各种类型的分析所需。

qq_39493558的博客 3497

使用 Eclipse 的 SVN 插件创建项目的主干/分支/标签

读了 Mark Phippard 的博客以及《Subversion 与版本控制》之后,我了解到 分支/标签 是 SVN 很棒的特性之一。但我在使用推荐的 "trunk"、"branches"以及"tags"文件夹创建我自己的目录结构的时候颇是花了一点时间。本文将分步介绍创建 Subclipse 项目然后建立一个分支。本文假定你已经安装好了 Subclipse 并建立了一个 SVN 仓库。如果你还没有,参考《集成 SVN 插件到 Eclipse 全过程》。

Defonds 的专栏 3万+

避开地图定位偏差!手把手教你用Python实现火星坐标与WGS84精准转换

本文深入解析了国内地图服务中火星坐标(GCJ-02)与国际标准WGS84坐标系之间的偏差问题,并提供了基于Python的精准转换解决方案。文章详细阐述了坐标转换的核心原理,手把手教你构建可复用的转换工具包,并演示如何将其集成到实际应用(如Flask API)中,帮助开发者和数据分析师有效解决地图定位不准、多源数据无法对齐的痛点,提升地理信息处理能力。

weixin_29250403的博客 124

SVN eclipse版 创建分支/合并分支/切换分支

    在建立项目版本库时,可首先建好项目文件夹,并在其中建立trunk, branches, tags三个空的子目录。这样在trunk中开始进行开发 trunk是主分支,是日常开发进行的地方。 branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。 tags目录一般是...

Keith003的博客 1226

ST7789P3初始化配置

【代码】ST7789P3初始化配置。

zqq_1314的博客 4153

如何让 Mac mini 24小时不休眠运行 OpenClaw

如果 OpenClaw 每 5-10 分钟自动退出,launchd 连续 4 次快速重启后会判定为崩溃循环并卸载服务。:方案一(pmset)+ 方案三(launchd)组合使用,既防止系统休眠,又保证 OpenClaw 开机自启和崩溃自动恢复。:caffeinate 只在进程运行期间有效,终端关闭或进程结束后系统恢复正常睡眠策略。这条命令会自动创建 launchd plist 并启用服务,是最推荐的方式。替换为你的实际用户名路径,Node.js 路径也要改成你自己的。确保 plist 中有。

Maynor的博客 2203

Eclipse下svn的创建分支/合并/切换使用

最近接项目要求,要在svn主干上创建分支,用分支来进行程序的bug修改,而主干上进行新功能的开发。分支上的bug修改完,发布后,可以合并到主干上。项目程序可以在主干和分支之间进行切换,来实现主干和分支的同时维护。        1.创建分支         创建分支实际上就是将程序copy一份到指定的分支目录,如下图示: 在项目名称上点击右键,弹出菜单,选择“Team”,再选择“Br

lisq037的专栏 9万+

Python 控制 Keysight N9010B/N9020/N9030 频谱仪

为什么要实现频谱仪的控制呢?起因是因为我司RF的同事们需要对通信模块进行GSM的带内杂散进行测试,由于该测试的频点涉及900多个,所以急需开发一款自动化测试工具。该工具需同时实现对无线通讯仪和频谱仪的控制,这篇文章主要介绍一下频谱仪的控制!做通信的应该对频谱仪都不陌生,不过我之前做的都是软件相关行业,所以我对频谱仪其实还是很陌生的;不过好在我的同时们都很热心,加上仪器的文档,一段时间下来,也算是熟悉了一些。

xgh1951的博客 1万+

eclipse中使用SVN以及导入SVN项目到eclipse中

在eclipse中想引入SVN的管理以及把SVN项目导入到eclipse中,这里只介绍最常见的方法。一、eclipse引入SVN:1、打开eclipse --> help --> Install New Software...2、点击“Add”,在弹出的窗口里,输入对应的SVN地址,然后“OK”Name:subeclipseLocation:(看需要那个版本的svn)http://su...

lan_学习分享 2万+

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信

优秀的 Verilog/FPGA开源项目介绍(一)-PCIe通信今天开始会陆续介绍一些优秀的开源项目,项目基本都是和FPGA或HDL相关的。对于一些找工作或者急需项目经验的人来说,这些项目...

OpenFPGA的博客 8117

基于STM32+OneNet设计的物联网智慧路灯(100)

本次设计的智能路灯采用STM32芯片和OneNet物联网平台进行连接,开发出支持太阳能充电锂电池供电、GPS定位上传位置信息、手动/自动控制路灯开关、环境光照调节、红外传感器检测周围人员、空气质量监测等多项功能。同时,当路灯发生异常情况时,系统可以自动发送邮件或短信到指定邮箱或电话。

7725

Eclipse通过SVN导入项目遇到的问题记录

问题一、把子项目导入为project 原因:一个大的文件夹,里面有各个小项目,需要把自己添加需求的项目导入为Maven Project 1、右键选 Import as project 2、右键 -> Build Path -> Configure Build Path... 3、修改三处: (1)Java Build Path 双击JRE或者单击并...

577

Android Audio基础——系统服务(二)

AudioService 继承自 IAudioService.Stub。IAudioService.Stub 类很明显是通过 IAudioService.aidl 自动生成的。AudioService 位于 Binder Native 端。AudioManager 拥有 AudioService 的 Binder Proxy 端,是 AudioService 在客户端的一个代理。几乎所有客户端对 AudioManager 进行的请求,最终都会交由 AudioService 实现。

小旭的专栏 2073

svn merge 合并的使用方法,branch/tag trunk,eclipse插件svn

将分支/标签 合并到 主线 merge to trunk 在trunk上右键->Team->Merge 选择Reintegrate a branch->Next,一般到这步的时候会检查本地trunk的源码和分支的源码,必须全部提交,并且要update一次,是为了保证本地源码和svn上的源码一致.根据提示commit和update后,进到下一个页面 选择想要合并到trunk中的分支的路径 ...

黑色头发 383

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Eclipse中Maven项目提交到SVN

目录   一、在SVN服务器上创建repository 1.右键选择Create New Repository 2、选择Single-project repository --> 下一步 3、选择All Subervision users have Read / Write access --> Create  4、得到以下结果 二、Eclipse安装SVN插件 1、打...

qq_38151401的博客 1324

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

svn merge

一、 Trunk: 主干,主工作目录,是所有开发功能的,最新版的,测试的,开发中的 Branch: 分支,可以多人与主干并行开发、修改bug、较大改动 Tags: 类似工作中的一个快照,保存特定版本,可以是Trunk,Branch的一个特定点上的快照 实际上,branh和tag都是trunk的copy。 模式:分支开发,主干发布。   二、Merge

架构师思考实践 1231

svn简介使用

一, 简单地说就是项目经理在服务器端发布了一个项目,我们程序员需要写项目的某一个模块,我们就可以给在客户端将我们写好的模块代码,提交到服务器端,项目经理通着这个可以查看项目的整个进度个流程。 项目中的版本控制问题,如果是代码,配置文件 文档没有版本控制,SVN是一个版本控制软件能跟踪项目的,是一种记录若干文件变化的额,以便将来查阅特定版本之间修订的问题, 是一个基于服务器端和客户端之间的模式...

qq_41826183的博客 235

SVN中tag branch trunk用法详解(zhuan)

本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN中tag branch trunk的用法。 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。至于何时用tag,何时用branch,完全由人主观的根

统计分析与数据挖掘 7101

SVN中tag branch trunk用法详解

本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN中tag branch trunk的用法。 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。至于何时用tag,何时用branch...

weixin_33711641的博客 71

Eclipse下使用SVN的branches/tag功能。

  在Subversion中,很容易创建新的tag和branch。可以使用tag来标识一个特定的版本(使用一种可读的名字,例如"Release1.0")。;而一个branch用于新的开发工作而不影响主源码基(称作trunk)。在一个branch上的开发仍会继续进行,直到开发者已经为把变化集成回主trunk作好准备。  在Subversion中,branch和tag都是通过制作给定修

kimsung的专栏 1万+

eclipse中svn分支、合并

使用分支的场景 要对某一个模块做重大调整,而不想别人打扰你或你不想打扰别人的工作,因为你修改的内容比较多,在没有完全改好并测试过之后就提交的话,别人更新后的程序就用不了了,但是如果你一直不提交,等到你完全改好后再提交,那svn的版本管理的作用体现在哪里?通过分支可以避免这个问题。 主干已经开发完成,要进行发布,那把主干复制到分支,然后分支主要进行bug的修改和完善,而主干继续进行新特性的开发。...

weixin_42161155的博客 677

eclipse使用svn

主干(trunk)、分支(branch )、标记(tag) 用法示例 + 图解 以svn为例,git的master相当于trunk,dev分支相当于branches --------------------------------------------------------------------------------------------------------...

weixin_30662109的博客 57

eclipse下SVN分支、主干、标记使用

eclipse下SVN里面的branches、trunk、tags使用 一、标签说明 trunk: 我们一般开发的项目都是在这条线上进行的,当我们发布一个版本时,而我们有进行新的功能开发时,如果发布的版本出现了bug怎么?是保存当前的代码、SVN回滚到发布的时候?等到bug修复后再合并到现在的代码版本?No,No,No,太烦了,下面直接用到branches。 branche

ostracod 3651

项目中SVN管理代码(Hbuider和eclipse)

svn常用目录结构 一般情况下, trunk:是用来做主方向开发的,一个新模块的开发,这个时候就放在trunk,当模块开发完成后,需要修改,就用branch。  branch:是用来做并行开发的,这里的并行是指和trunk进行比较。 tag:是用来做一个milestone的,不管是不是发布版本,但都是一个可用的版本。这里,应该是只读的。更多的是一个显示用的,给人一个可读的标记(保存开发

wangjianqing1的博客 650

eclipse svn 分支合并到主干

最近公司产品上线,整个系统架构包含有七八个子系统,并且子系统都是集群部署。所以每次升级维护都要确保尽可能不出问题。因为整个系统刚上线不久,意味着新系统不定期有BUG需修复,但新功能模块也在持续的开发中(可能持续的时间还不短),所以就引发一个问题:持续开发的新功能代码与生产上的代码 如何进行隔离开来进行维护,而且二者还需要不定期的合并代码。所以就研究了下SVN分支。 首先需厘清SVN的分...

dingshu6553的博客 254

eclipse下svn的分支与合并操作

        eclipse的svn插件关于分支的建立与合并。        首先说说创建分支,很简单,不过是浅copy一个trunk目录到branches下即可.如下图所示:             右键你的工程==>team==>分支/标记 弹出如下信息: 此框告诉你从哪里copy到哪里,这里我们从trunk位置copy到branches目录,点击ok即可搞...

guo_yang的博客 186

svn在Eclipse中进行创建、合并分支--图形化界面

一般svn代码库目录结构有: branches(分支) tags(标签) trunk(开发主干) 从主干上创建分支 右键点trunk —>TortoiseSVN—>BranchTag To path 你创建Branch/Tag的路路径Create copy in the repository from:(从仓库生成副本) HEAD revision in the rep...

BUG 388
上一篇: java8 stream代替for循环 具体实战
下一篇: 小乌龟中svn使用trunk与brunch与tag
qq_34412985
博客等级 码龄11年 143粉丝 983原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值