7.上传project到服务器及拉取服务器project到本地、更新代码冲突解决

1.上传project到SVN服务器

1.在eclipse中,从show view里调出SVN资源库视图

7d504cc88b7f4e36b399887d17c776b4.png

2.在SVN资源库窗口的空白位置右键选择新建资源库位置

f76aca0125b34c61b360d48ae765149f.png

3.填好服务器的地址

e99ca2864b3a4708933a46ab264ef0dd.png

4.资源库导入成功,SVN资源库视图下出现导入的资源库

9121be2a54bb48f7b075fba020ab3229.png

5.新建project

6.写好project的初始版本

f1485b47508345e9a46511b9e685bafc.png

7.右键project --> team --> share project

d973c2a325354c7dbaf9b6eda3bd374e.png

8.选择repository类型为SVN --> 点击next

f9b25712a5bd4212829dbd2278732642.png

9.使用已有资源库位置

bb1fbf3af8884715a4165a3414e8efd7.png

10.使用项目名称作为文件夹名 --> 点击Finish --> 输入用户名和密码(此步不一定每个人都有)

93a338b8d4ef4844bc5679f8fa89365c.png

11.自由选择是否打开synchronize视图

ccac1e293e5e4310a21a776a92ed0b38.png

12.右键project --> team --> 提交

93e535678ea54508a158377589d05e78.png

13.自由选择是否写日志(建议写)

bd46fcb73122442a8a8b711966440202.png

14点击OK --> 上传到服务器成功,此时刷新资源库,资源库下出现上传的project

 

2.从服务器下载project到本地(三种方式)

1.在资源库视图点击资源库左边的小三角形后出现该资源库下的所有project

f22a587e67a243839e570bb91407bde3.png

2.选择要下载的project右键 --> 检出为

6ea7bd22e7dd4b488df23712c7b9c301.png

3.自由选择是否更改属性(建议使用默认) --> Finish --> 下载成功

3c574b105585400f974a5a7e74f53bb1.png

Eclipse导入SVN项目的三种方式

一.直接Import导入:

1.点击 File --> Import,进入导入项目窗口

724d96a0a5554dea825b496399622bdf.png

2.选择从SVN检出项目,点击Next

6441311f53d6424b9086e2ab189da68a.png

3.选择创建新的资源库位置,点击Next

c4fad69b19f440b6a6cb0687f8d530f9.png

4.在URL处输入SVN项目远程地址,点击Next

e826d82daa494c4fa213b8bae9d0fffd.png

5.选中检索到的远程项目,点击Next

3a6e441bbd2b446b883f0bde11c7033b.png

6.输入项目名称,点击Next

c3ac17d8984e46b09f63fced3ce15763.png

7.选择工作空间,点击Finish,到此项目导入完成。

6bdd1598c07a4da881cbe8c4fbd31189.png

二.SVN资源库导入:

1.点击Eclipse右上角带“+”的图标,进入Open Perspective窗口

f798d015f6bb4295bf99b966cf5919d1.png

2.选择SVN资源研究库,点击OK

33d20f67b2a64d59bf80922b4638c6ce.png

3.右上角出现对应的图标,同时进入SVN资源库界面

4081cf201ee14217bae411f0dcb3235a.png

4.在空白位置单击右键,点击 新建 --> 资源库位置,进入添加SVN资源库界面

0ff20b67c2d148f09618100049dda176.png

5.在URL处输入SVN项目远程地址,点击Finish

0c886ff2a6844e9aa347988b74eb47cc.png

6.在SVN资源库界面出现检索到的远程项目

06789cabca804d70a8b22a8422548ed6.png

7.点击远程项目的SVN地址,单击右键,点击“检出为”

8.输入项目名称,点击Next

ab7dd9f8dc944f6f9e161fd7ba1b30a1.png

9.选择工作空间,点击Finish,到此项目导入完成。

8f1e009a936d4cc7ad9673886d5d37e8.png

三.SVN客户端导入:

1.创建一个空文件夹,在文件夹中单击右键,点击"SVN Checkout"

6bf326021cc4483fb1b014ab7ebf4fdf.png

2.出现Checkout窗口,在URL of repository 处输入SVN项目远程地址,点击OK

34c6970193064b60a40a4cbf6af3f5d3.png

3.等待项目检出成功

0a51ebc894584f2e9ba7df4156dbcaee.png

4.点击OK,文件夹中会出现以下内容

ffbfd182839a4b98b95839affa3ac271.png

5.打开Eclipse, 点击 File --> Import,进入导入项目窗口

03c8c62156634e51bb1245c2265fcb58.png

6.选择普通导入项目方式:General --> Existing Projects into Workspace,点击Next

bdb501b14c5f43278c504b35de086663.png

7.进入Import窗口,点击Browse选择之前创建的文件夹

a3fd0832b3f74fe38237a895e38e6b02.png

8.选择之后,出现项目地址和项目名称,点击Finish,到此项目导入完成

3760684740984df98798b93d9d643e3e.png

9.Eclipse的Project Explorer界面出现导入的项目,显示的是Java项目,若是Web项目只需进行相应设置即可。

 

3.从服务器更新代码

1.更新代码

右键项目project--> 与资源库同步

cbd4d8c85bbe4a65b9c73f0cc07fbedb.png

2.选择打开Synchronize视图  

3.与本地代码有不同的服务器代码将显示在Synchronize视图下,双击可以查看本地代码和服务器代码的对比,加号的为新增的文件(本地还没有)

c7d55952a6a34a64928c6ab79d9bf2bf.png

4.将模式切换到Incoming Mode,这个模式下的代码都是服务器更新的代码,需要下载到本地的,右键要更新的文件-->team-->更新

eb35020ddcf147dcbab6948b35df7846.png

5.如果出现下图这个符号,则代表本地代码和服务器代码有冲突(即:本地代码在未更新到最新版本的情况下,对代码进行了更改;或者在你对a.Java写代码的期间,有人往服务器上传了新的a.java代码,使得代码间出现了冲突)

e0a83cc4f07f4d359f3b90351dea1f9b.png

2.代码冲突

冲突情况1:服务器代码和自己代码改动的地方相同

这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。

 

冲突情况2:服务器代码和自己代码改动的地方不同

这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。

 

1、双击冲突文件进入比较视图

1913a47b3a4e4bd686ed9cf3fab1b345.png

2、找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开

b5dfc74651514605b42a0670892de7f6.png

3.将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起

8c080dcc07f74757abd55d52e088ce65.png

3.代码提交(二种方式)

1.eclipse上使用svn提交代码

首先在提交代码的时候,会看到有的文件前会有雪花标志,代表该文件被修改过

780384b485d446fea809739b329d656b.png

提交代码的时候,点击整个项目,右键---team---与资源库同步这个目的是检查本地的代码和服务器上的代码有没有冲突,如果有冲突的话,应该像将冲突解决,否则提交代码会出错

59f598810e564d7cb083bab4a1344997.png

点击与资源库同步按钮之后,会跳转到Team Synchronizing界面,这个时候eclipse会自动检测本地的代码和服务器上的代码有没有冲突,有的话会在eclipse的左侧显示出来,如果没有冲突,那么会跳出弹框 Synchronzing No Changes found

a60ab3e3580a4a90afd1f00e6bd16e3e.png

95c6262cac25476b82585b05ba215741.png

选择要提交的文件,然后右键,提交。会跳出一个弹框,让你输入对你这次提交的代码的描述,主要就是写你完成的需求的详细的内容,和编码上传者

52ccd442b558482388ee246899229699.png

点击OK,上传成功

上传的文件之前的雪花标志已经消失不见。意味者上传成功

5b14f1ff35f145f7b9884adbea07a52c.png

有的时候,代码之前会出现问号,意味着,这个文件是新增加

a5dd96296e6d45ed87a158659aa9eb4f.png

2.客户端方式(小乌龟)提交

1.选中需要更新的代码文件夹或目录,是否代码冲突 点击右键,上传自己文件 选择“TortoiseSVN”–“Add”

2.此时SVN客户端会自动帮你识别出已经变更过的代码文件,可以根据自己的需要选择是否需要上传

3.选择“Ok”后会提示所有的文件已经“Add”成功了

4.再次回到第一步的目录,点击右键,选择“SVN Commit”

5.在弹出的对话框的“Message”框内输入你此次代码变更的备注

6.点击“Ok”按钮,此时SVN开始将变更文件代码上传到SVN远程服务端

7.再次回到刚才操作的目录,我们发现文件夹的状态标识也变成绿色的小勾了,此时代码已经提交成功了

 

4.代码回退/还原/

1.回退相应版本

1.选中要回退的代码,右键选择team>显示资源历史记录

2.在该代码文件的历史记录中选择要回退到的对应历史版本,右键>获取内容,即可将对应版本代码覆盖到本地文件

320d83b5bc5f4a2c99117ab249c0d546.png

 

2.还原

取消本地的全部修改,回退到最近一次更新后状态

使用Team --> Revert (还原)命令即可

70d0a19ed26c45c9860899d71c4cde33.png

3.代码误删

文件还在,恢复删除或覆盖的代码

选中文件 -> replace with -> Local History

555cf63dfc7944caad62f9e9bce3d6bf.png

 

误删本地文件或误更新文件导致文件删除

在误删除文件后,右键文件之前所在的文件夹,找到   Restore from  Local  History  的菜单,单击会弹出

98365116a352424db9d532563b63ce3c.png

 

4.分支

svn它有3个目录,分别为trunk, branches, tags三个空的子目录。

trunk是主分支,用于我们线上部署

branches是分支,用于开发,修复bug等

tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。

1.创建分支(切换分支)

创建分支实际上就是将程序copy一份到指定的分支目录

在项目名称上点击右键,弹出菜单,选择“Team”,再选择“Branch/Tag”,弹出下面的页面

5aa26f872c8b47bd80d6df51f2acefec.png

“Copy to URL”填写创建新分支的路径地址,后面会将程序copy到该目录下,形成新的分支。点击“Next”:

122dc873469b47f4a066f16e572e18af.png

标注了开发人、项目名称以及版本

c7fc8c7b29284428b43134660a1460ff.png

选择最新版本

e9722f4c6d9248d6a3b6e68d31bce088.png

自己决定,勾选上就会自动切换到分支上。不勾选就需要我们手动切换分支

bdc97c3d61e44b489defe4025962cfb9.png

分支上,有项目了。那么我手动切换下分支

e59631e7ce634cd1a1318ea95ce1dee7.png

选择我才刚在分支上创建的目录

e608eada7dfa437da38cff86874eb550.png

切换成功

2.分支同步主干代码

如图:在主干分支上增加了公共代码

f66510874e8c45929e83be0fb64ede79.png

在分支进行拉取

393a2ab9f8b140b09f0940722f63554a.png

选择第一个

a9708dbc53b0428a81aa92459a9f8e2d.png

或者

ea2bca23bed34be295a0bd65a1a1d806.png

上图中的选项:

        1) 从主干合并到分支

        2) 从分支合并到主干

        3) 将主干上的修改合并到分支

        4) 合并2个分支到主干

        5) 从主干到分支,手工指定不需要合并的修改

        6) 从主干到分支,手工指定要合并的修改

 

从主分支拿取

ca6ee9a6e53c4694bf103eb481b3ae27.png

同步过来了

3.主干同步分支代码

在分支上开始开发代码

5b16d8cf42e048ebab2a3625010f2f6f.png

写好并提交

开始合并分支代码了

f850199ed73c4c65ad51c5f9c193b5fd.png

选择第三个

7bdfda3cda67446b905b17c35b9e0c99.png

选择主干和分支

362805b211ed4ca5a8d885c7a8338ded.png

合并过来了

7fb36bc3c65243a5937904840b9e9a8c.png

4.分支中代码冲突

那么如果在开发过程中改变了公共方法

主干代码

fdc4f9153a714d45bdff8e6d206bc2eb.png

分支代码

12fb1784de9644e1894acb52d20654d5.png

主干开始同步分支代码,有冲突文件

ae2e8cc780684b2eb5a8f2373e8cd219.png

查看冲突文件

f242d10ae9d8455a84ffdd0ec7080c65.png

根据分支进行对比

cac36f06d1b746478dcbafd2b820ba2a.png

冲突内容

af605647c8074c4cbc378f84c8bf8cc3.png

解决好后,选择文件,标记为解决

0c6c0d40b12748a8a2bad3c6b8fd7da2.png

一提交即可。解决起来很麻烦

 

分支上正常开发代码

648efb5d71144c49b4b9f836b8f4c88a.png

总结:使用Merge a range of revision的时候,有冲突的文件会给标注,我们需要自己去处理冲突。

使用Merge two different trees,会直接根据目标版本更新,直接覆盖掉不相同的内容。所以这里一定要规定分支要合并主支以后,在操作主支合并分支。

这个根据大家的实际情况而定

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/202397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

激光雷达生成的图像检测关键点用来辅助里程计的方案

文章:LiDAR-Generated Images Derived Keypoints Assisted Point Cloud Registration Scheme in Odometry Estimation 作者:Haizhou Zhang , Xianjia Yu, Sier Ha , Tomi Westerlund 编辑:点云PCL 欢迎各位加入知识星球,获取PDF…

数据结构与算法编程题41

线性表中各结点的检索概率不等时,可用如下策略提高顺序检索的效率: 若找到指定的结点,则将该结点和其前驱结点(若存在)交换,使得经常被检索 的结点尽量位于表的前端。试设计在顺序结构的线性表上实现上述策…

DCGAN生成网络模型

DCGAN(Deep Convolutional Generative Adversarial Network)是一种生成对抗网络(GAN)的变体,专门设计用于生成图像。它结合了卷积神经网络(CNN)和生成对抗网络的概念,旨在生成具有高…

mysql基础之DQL基本单表查询

学习DQL之前先知道sql语句的执行顺序 from->join->on->where->group by->count(字段)->having->select->distinct->order by->limit null无法和任何值进行比较(不相等),包括null和null也不相等 1.DQL简单查询…

免费好用的5个AI写作工具,如何更好的使用AI写作工具

人工智能(AI)作为当今科技领域的热门话题,正在以惊人的速度改变我们生活的方方面面。从智能助手到自动驾驶汽车,AI的应用已经渗透到我们日常的方方面面。 1. 什么是AI人工智能? 什么是AI人工智能?简而言之…

CCF编程能力等级认证GESP—C++1级—20230318

CCF编程能力等级认证GESP—C1级—20230318 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)每月天数长方形面积 答案及解析单选题判断题编程题1编程题2 单选…

会声会影2024软件还包含了视频教学以及模板素材

会声会影2024中文版是一款加拿大公司Corel发布的视频编软件。会声会影2024官方版支持视频合并、剪辑、屏幕录制、光盘制作、添加特效、字幕和配音等功能,用户可以快速上手。会声会影2024软件还包含了视频教学以及模板素材,让用户剪辑视频更加的轻松。 会…

基于springboot+vue篮球联盟管理系统源码

🍅 简介:500精品计算机源码学习 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 文末获取源码 目录 一、以下学习内容欢迎交流: 二、文档资料截图: 三、项目技术栈 四、项目运行图 背景: 篮球运…

对比分析:黑盒测试 VS 白盒测试

一、引言 在软件开发过程中,测试是确保产品质量的关键环节。其中,黑盒测试和白盒测试是两种常见的测试方法。本文将详细解析这两种测试方法的定义、特点,同时通过具体示例进行对比分析。 二、黑盒测试 黑盒测试,又称功能测试&…

社区分享|简米Ping++基于MeterSphere开展异地测试协作

上海简米网络科技有限公司(以下简称为“简米”)是国内开放银行服务商,高新技术企业,中国支付清算协会会员单位。自2014年成立至今,简米长年聚焦金融科技领域,通过与银行、清算组织等金融机构合作&#xff0…

java基础进阶之数组排序-可能有你不知道的哦!!

1、使用Arrays类的sort方法 1.1、默认升序 java中Arrays类提供了sort方法来进行快速排序,默认是升序的。 Arrays.sort(数组名) private static void ArrSort1(int[] arr) {Arrays.sort(arr);System.out.println("快速排序-默认升序:"Arrays.toString(arr…

【PyTorch】多项式回归

文章目录 1. 模型与代码实现1.1. 模型1.2. 代码实现1.2.1. 完整代码1.2.2. 输出结果 2. Q&A2.1. 欠拟合与过拟合 1. 模型与代码实现 1.1. 模型 将多项式特征值预处理为线性模型的特征值。即 y w 0 w 1 x w 2 x 2 ⋯ w n x n y w_0w_1xw_2x^2\dotsw_nx^n yw0​w1​…

开关电源超强总结

什么是Power Supply? 开关电源的元件构成 三种基本的非隔离开关电源 三种基本的隔离开关电源 反激变换器(Flyback)工作原理 (电流连续模式) 反激变换器(Flyback)工作原理 (电流断续模式&#x…

信息化系列——企业信息化建设(3)

期待已久的对策,马上”出炉“,第一次看的朋友,建议现在主页看看(1)和(2),那咱们就废话少说了,开始今天的正题。 企业信息化建设对策 1、增强企业信息化意识 企业管理者…

【Python】Python读Excel文件生成xml文件

目录 ​前言 正文 1.Python基础学习 2.Python读取Excel表格 2.1安装xlrd模块 2.2使用介绍 2.2.1常用单元格中的数据类型 2.2.2 导入模块 2.2.3打开Excel文件读取数据 2.2.4常用函数 2.2.5代码测试 2.2.6 Python操作Excel官方网址 3.Python创建xml文件 3.1 xml语法…

PACS源码,医学影像传输系统源码,全院级应用,支持放射、超声、内窥镜、病理等影像科室,且具备多种图像处理及三维重建功能

​三维智能PACS系统源码,医学影像采集传输系统源码 PACS系统以大型关系型数据库作为数据和图像的存储管理工具,以医疗影像的采集、传输、存储和诊断为核心,集影像采集传输与存储管理、影像诊断查询与报告管理、综合信息管理等综合应用于一体的…

接口测试:轻松掌握基础知识,快速提升测试技能!

1.client端和server端 开始接口测试之前,首先搞清楚client端与server端是什么,区别。 web前端,顾名思义,指用户可以直观操作和看到的界面,包括web页面的结构,web的外观视觉表现及web层面的交互实…

顶级设计师力荐的界面设计软件,设计新选择

即时设计 作为专业的在线协作UI设计软件,即时设计可以实现视觉效果、交互效果、体验效果一站成型,为你的目标用户创造流畅体验。 轻松绘制原型:借助社区设计资源和原型模板的即时设计,开始敏捷高效的工作。与产品经理分解用户需…

E. Good Triples

首先 如果产生进位的话是一定不对的,因为进位会给一个1,但是损失了10 然后可以按位直接考虑,转换成一个隔板法组合数问题 // Problem: E. Good Triples // Contest: Codeforces - Codeforces Round 913 (Div. 3) // URL: https://codeforces…

反序列化漏洞详解(二)

目录 pop链前置知识,魔术方法触发规则 pop构造链解释(开始烧脑了) 字符串逃逸基础 字符减少 字符串逃逸基础 字符增加 实例获取flag 字符串增多逃逸 字符串减少逃逸 延续反序列化漏洞(一)的内容 pop链前置知识,魔术方法触…