7.上传project到服务器及拉取服务器project到本地、更新代码冲突解决 |
您所在的位置:网站首页 › 本地svn拉取代码 › 7.上传project到服务器及拉取服务器project到本地、更新代码冲突解决 |
1.上传project到SVN服务器
1.在eclipse中,从show view里调出SVN资源库视图 2.在SVN资源库窗口的空白位置右键选择新建资源库位置 3.填好服务器的地址 4.资源库导入成功,SVN资源库视图下出现导入的资源库 5.新建project 6.写好project的初始版本 7.右键project --> team --> share project 8.选择repository类型为SVN --> 点击next 9.使用已有资源库位置 10.使用项目名称作为文件夹名 --> 点击Finish --> 输入用户名和密码(此步不一定每个人都有) 11.自由选择是否打开synchronize视图 12.右键project --> team --> 提交 13.自由选择是否写日志(建议写) 14点击OK --> 上传到服务器成功,此时刷新资源库,资源库下出现上传的project 2.从服务器下载project到本地(三种方式) 1.在资源库视图点击资源库左边的小三角形后出现该资源库下的所有project 2.选择要下载的project右键 --> 检出为 3.自由选择是否更改属性(建议使用默认) --> Finish --> 下载成功 1.点击 File --> Import,进入导入项目窗口 2.选择从SVN检出项目,点击Next 3.选择创建新的资源库位置,点击Next 4.在URL处输入SVN项目远程地址,点击Next 5.选中检索到的远程项目,点击Next 6.输入项目名称,点击Next 7.选择工作空间,点击Finish,到此项目导入完成。 1.点击Eclipse右上角带“+”的图标,进入Open Perspective窗口 2.选择SVN资源研究库,点击OK 3.右上角出现对应的图标,同时进入SVN资源库界面 4.在空白位置单击右键,点击 新建 --> 资源库位置,进入添加SVN资源库界面 5.在URL处输入SVN项目远程地址,点击Finish 6.在SVN资源库界面出现检索到的远程项目 7.点击远程项目的SVN地址,单击右键,点击“检出为” 8.输入项目名称,点击Next 9.选择工作空间,点击Finish,到此项目导入完成。 1.创建一个空文件夹,在文件夹中单击右键,点击"SVN Checkout" 2.出现Checkout窗口,在URL of repository 处输入SVN项目远程地址,点击OK 3.等待项目检出成功 4.点击OK,文件夹中会出现以下内容 5.打开Eclipse, 点击 File --> Import,进入导入项目窗口 6.选择普通导入项目方式:General --> Existing Projects into Workspace,点击Next 7.进入Import窗口,点击Browse选择之前创建的文件夹 8.选择之后,出现项目地址和项目名称,点击Finish,到此项目导入完成 9.Eclipse的Project Explorer界面出现导入的项目,显示的是Java项目,若是Web项目只需进行相应设置即可。 3.从服务器更新代码 1.更新代码 右键项目project--> 与资源库同步 2.选择打开Synchronize视图 3.与本地代码有不同的服务器代码将显示在Synchronize视图下,双击可以查看本地代码和服务器代码的对比,加号的为新增的文件(本地还没有) 4.将模式切换到Incoming Mode,这个模式下的代码都是服务器更新的代码,需要下载到本地的,右键要更新的文件-->team-->更新 5.如果出现下图这个符号,则代表本地代码和服务器代码有冲突(即:本地代码在未更新到最新版本的情况下,对代码进行了更改;或者在你对a.Java写代码的期间,有人往服务器上传了新的a.java代码,使得代码间出现了冲突) 冲突情况1:服务器代码和自己代码改动的地方相同 这种情况比较复杂,一般只能将自己的代码保存一份到本地,然后直接将服务器代码更新下来,然后在新的代码上修改自己的逻辑。
冲突情况2:服务器代码和自己代码改动的地方不同 这种情况比较常见,就是你跟别的开发者都在更改同一个文件,但是由于开发任务是分开的,所以更改的地方是不同的,解决办法如下。
1、双击冲突文件进入比较视图 2、找到服务器上新增的但本地没有的代码块,选中此代码块,点击右上角的按钮(如下图箭头指向的按钮)将服务器代码复制到本地(其他地方也同此操作),如果点击按钮没用,则关闭比较视图重新打开 3.将所有服务器上新增的代码复制到本地文件后,右键冲突文件选择标记为合并即可,此时该文件就会消失在Synchronize视图下,并且该文件的代码已经成功将本地代码和远程代码合并到一起 1.eclipse上使用svn提交代码 首先在提交代码的时候,会看到有的文件前会有雪花标志,代表该文件被修改过 提交代码的时候,点击整个项目,右键---team---与资源库同步,这个目的是检查本地的代码和服务器上的代码有没有冲突,如果有冲突的话,应该像将冲突解决,否则提交代码会出错 点击与资源库同步按钮之后,会跳转到Team Synchronizing界面,这个时候eclipse会自动检测本地的代码和服务器上的代码有没有冲突,有的话会在eclipse的左侧显示出来,如果没有冲突,那么会跳出弹框 Synchronzing No Changes found 选择要提交的文件,然后右键,提交。会跳出一个弹框,让你输入对你这次提交的代码的描述,主要就是写你完成的需求的详细的内容,和编码上传者 点击OK,上传成功 上传的文件之前的雪花标志已经消失不见。意味者上传成功 有的时候,代码之前会出现问号,意味着,这个文件是新增加的 2.客户端方式(小乌龟)提交 1.选中需要更新的代码文件夹或目录,是否代码冲突 点击右键,上传自己文件 选择“TortoiseSVN”–“Add” 2.此时SVN客户端会自动帮你识别出已经变更过的代码文件,可以根据自己的需要选择是否需要上传 3.选择“Ok”后会提示所有的文件已经“Add”成功了 4.再次回到第一步的目录,点击右键,选择“SVN Commit” 5.在弹出的对话框的“Message”框内输入你此次代码变更的备注 6.点击“Ok”按钮,此时SVN开始将变更文件代码上传到SVN远程服务端 7.再次回到刚才操作的目录,我们发现文件夹的状态标识也变成绿色的小勾了,此时代码已经提交成功了 4.代码回退/还原/ 1.回退相应版本 1.选中要回退的代码,右键选择team>显示资源历史记录 2.在该代码文件的历史记录中选择要回退到的对应历史版本,右键>获取内容,即可将对应版本代码覆盖到本地文件
2.还原 取消本地的全部修改,回退到最近一次更新后状态 使用Team --> Revert (还原)命令即可 3.代码误删 文件还在,恢复删除或覆盖的代码 选中文件 -> replace with -> Local History
误删本地文件或误更新文件导致文件删除 在误删除文件后,右键文件之前所在的文件夹,找到 Restore from Local History 的菜单,单击会弹出 4.分支 svn它有3个目录,分别为trunk, branches, tags三个空的子目录。 trunk是主分支,用于我们线上部署 branches是分支,用于开发,修复bug等 tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。 1.创建分支(切换分支)创建分支实际上就是将程序copy一份到指定的分支目录 在项目名称上点击右键,弹出菜单,选择“Team”,再选择“Branch/Tag”,弹出下面的页面 “Copy to URL”填写创建新分支的路径地址,后面会将程序copy到该目录下,形成新的分支。点击“Next”: 标注了开发人、项目名称以及版本 选择最新版本 自己决定,勾选上就会自动切换到分支上。不勾选就需要我们手动切换分支 分支上,有项目了。那么我手动切换下分支 选择我才刚在分支上创建的目录 切换成功 2.分支同步主干代码如图:在主干分支上增加了公共代码 在分支进行拉取 选择第一个 或者 上图中的选项: 1) 从主干合并到分支 2) 从分支合并到主干 3) 将主干上的修改合并到分支 4) 合并2个分支到主干 5) 从主干到分支,手工指定不需要合并的修改 6) 从主干到分支,手工指定要合并的修改
从主分支拿取 同步过来了 3.主干同步分支代码在分支上开始开发代码 写好并提交 开始合并分支代码了 选择第三个 选择主干和分支 合并过来了 那么如果在开发过程中改变了公共方法 主干代码 分支代码 主干开始同步分支代码,有冲突文件 查看冲突文件 根据分支进行对比 冲突内容 解决好后,选择文件,标记为解决 一提交即可。解决起来很麻烦
分支上正常开发代码 总结:使用Merge a range of revision的时候,有冲突的文件会给标注,我们需要自己去处理冲突。 使用Merge two different trees,会直接根据目标版本更新,直接覆盖掉不相同的内容。所以这里一定要规定分支要合并主支以后,在操作主支合并分支。 这个根据大家的实际情况而定
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |