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,会直接根据目标版本更新,直接覆盖掉不相同的内容。所以这里一定要规定分支要合并主支以后,在操作主支合并分支。

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

 

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何摆脱你是一个葡萄酒新手的身份?

刚接触葡萄酒的人可能会有一种模糊的感觉,即他们喜欢白葡萄酒、红葡萄酒或玫瑰红葡萄酒,但他们可能不知道如何描述为什么,也不理解必要的术语。 把葡萄酒词汇想象成类似于讨论食物是很有用的,它是甜的、酸的还是辣的?对…

Jmeter接口测试:jmeter导入和导出接口的处理

JMeter测试导入接口 利用Jmeter测试上传文件,首先可根据接口文档或者fiddler抓包分析文件上传的接口;如下图: 以下是我通过fiddler所截取的文件上传的接口 1、填写导入接口的信息 查看文件上传栏下的填写信息: 文件名称&#x…

Elasticsearch,Kibana集成,x-pack鉴权配置

Elasticsearch,Kibana集成 Java8环境部署[CentOS7] cd /usr/local/src wget https://repo.huaweicloud.com/java/jdk/8u201-b09/jdk-8u201-linux-x64.tar.gztar -xzvf jdk-8u201-linux-x64.tar.gz -C /usr/local#配置环境变量 vim /etc/profile #文末添加 export JAVA_HOME/us…

docker安装及简单使用(Linux版本)

文章目录 前言一、docker安装二、docker命令pull(安装镜像)images(查看镜像)run(创建容器)删除容器exec(进入运行中的容器)常用命令 总结如有启发,可点赞收藏哟~ 前言 ht…

路由跳转添加进度条

根据npm官网的步骤: 1.先安装nprogress npm install nprogress 2.引入nprogress和样式文件 import nprogress from nprogress import nprogress/nprogress.css 3.在前置守卫添加进度条的展示 //全局前置守卫 router.beforeEach((to: any, from: any, next: an…

算法训练 第十周

二、 删除有序数组中的重复项 II 1.双指针 我们在遍历整个数组的时候如果发现某个元素出现的次数超过了两次,就先记录下它出现的第三个位置,然后找到下一个与它不同的元素,从这个元素开始将其和其后面的所有元素都复制到之前记录的位置之后&…

C++ IO库

IO类 IO对象不能拷贝和赋值 iostream 表示形式的变化: 将100转换成二进制序列 然后格式化输出 x,y共用一块内存 输出的时候用不同的方式解析同一块内存 操作 格式化:内部表示转换为相应字节序列 缓存:要输出的内容放到缓存 编码转换&…

python爬虫-某公开数据网站实例小记

注意!!!!某XX网站逆向实例仅作为学习案例,禁止其他个人以及团体做谋利用途!!! 第一步:分析页面和请求方式 此网站没有技巧的加密,仅是需要携带cookie和请求…

IntelliJ IDE 插件开发 | (二)UI 界面与数据持久化

系列文章 IntelliJ IDE 插件开发 |(一)快速入门 前言 在上一篇文章中介绍了在IDEA下开发、运行和安装插件的基本步骤,因此创建项目等基础步骤不再赘述,本文则开始介绍如何进行 UI 界面的开发以及相关数据的持久化存储&#xff…

安全测试工具,自动发现网站所有URL!

作为一个安全测试人员来说,首先要拿到网站所有url,然后根据拿到的url进行渗透测试进行漏洞挖掘。本文给大家介绍的是如何拿到一个网站所有的url。 深度爬取层级控制 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很…

集成开发环境 PyCharm 的安装【侯小啾python基础领航计划 系列(二)】

集成开发环境PyCharm的安装【侯小啾python基础领航计划 系列(二)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔…

图灵测试:人工智能的终极挑战

图灵测试:人工智能的终极挑战 一、引言 在人工智能的发展历程中,图灵测试一直被视为一个重要的里程碑。这个由英国计算机科学家艾伦图灵提出的实验,旨在评估人工智能是否能够像人一样思考和表达,为人类与机器智能之间的界限设立了…

Python实现FA萤火虫优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 萤火虫算法(Fire-fly algorithm,FA)由剑桥大学Yang于2009年提出 , …

【征稿倒计时十天,ACM独立出版,有确定的ISBN号,ei检索稳且快】

2023 人工智能、系统与网络安全国际学术会议 (AISNS 2023) 2023 International Conference on Artificial Intelligence, Systems and Network Security 由西南科技大学计算机科学与技术学院主办的2023人工智能、系统与网络安全国际学术会议 (AISNS 2023&#xff0…

C语言给定数字0-9各若干个。你可以以任意顺序排列这些数字,但必须全部使用。目标是使得最后得到的数尽可能小(注意0不能做首位)

这个题目要求的输出是一串数字!!! 不是下面:输入在一行中给出 10 个非负整数,顺序表示我们拥有数字 0、数字 1、……数字 9 的个数。整数间用一个空格分隔。10 个数字的总个数不超过 50,且至少拥有 1 个非…

使用Jmeter进行http接口测试怎么做?

前言: 本文主要针对http接口进行测试,使用Jmeter工具实现。 Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试。 一、开发接…

Lidar-SLAM的历史与现状

文章:LiDAR-based SLAM for robotic mapping: state of the art and new frontiers 作者:Xiangdi Yue and Miaolei He 编辑:点云PCL 欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享&#xff0c…

岚图追光PHEV 25.28万元起售,开卷混动豪华轿车

作者|Amy 编辑|德新 12月5日晚,2023岚图科技日上,岚图汽车正式发布了其新一代SOA电子电气架构天元架构,并宣布了以“新行政电动旗舰”为定位的岚图追光PHEV正式上市。 岚图追光PHEV是岚图汽车旗下首款电混轿车&#x…

Selenium 中并行测试的重要性!

随着技术的进步,测试解决方案变得更具可扩展性,加速了团队从手动测试到Selenium测试自动化的转型。但是成年人的世界,没有什么是容易的。对于许多团队来说,并行运行多个测试仍然是不可扩展的。他们倾向于遵循传统的顺序执行测试方…

kubeadm快速搭建k8s高可用集群

1.安装及优化 1.1基本环境配置 1.环境介绍 (1).高可用集群规划 主机名ip地址说明k8s-master01192.168.2.96master节点k8s-master02192.168.2.97master节点k8s-master03192.168.2.98master节点k8s-node01192.168.2.99node节点k8s-node02192.168.2.100n…