基于SVN构建版本机及所遇到的问题-2

接续“基于SVN构建版本机及所遇到的问题-1”。app


二、发布ide

项目右键菜单“发布”后,并修改文件夹:测试

image.png


点击“发布”按钮,输出窗口提示以下:spa

image.png


进入资源管理器查看本地项目目录:3d

image.png


Publish目录仍是问号,前后执行Add(右键弹出菜单-->ToitorseSVN-->Add)和Commit(右键弹出菜单-->Commit),变为绿勾:orm

image.png


交付人员能够在其余PC上使用TortoiseSVNcheckout这个发布目录,并部署之。blog


5.5 Update

SVN多半都是由许多人共同使用。一样的档案可能还有人会去进行编辑。为了确保工做目录中的代码文件与Repository是同步的。在编辑前都先进行更新的动做。前提是:已经将代码文件check out过一次。ci

 

假设另一个同事通知你修改了Program.cs,则点击Program.cs右键弹出菜单的“Update”:资源

image.png


执行Update后显示:开发

image.png

表示更新完成。

 

尽管推荐按文件更新,可是万一不知道更新了哪一个文件,能够执行解决方案的右键弹出菜单的Update”,来更新整个解决方案。


5.6 Update to Revision

若是想要回退到某个老版本,可使用该功能:

image.png


执行后:

image.png


点击Show log”:

image.png


点击版本1确认:

image.png


执行OK


image.png


成功更新到版本1.


5.7 Branch

创建分支的目的可能有:

(1)开发分支:从主干复制一份来修改,修改完了后合并到主干。

(2)老版本分支:老版本已经封闭,新版本准备开发,可是老版本还须要修改须要修改,因而从主干分出一份来继续老版本的修改。

(3)测试版本/正式版本分支:发布软件测试版本或者正式版本,用来测试部署或者正式部署。

(4)补丁版本分支:由于bug还须要建个补丁,不包括所有文件,保留须要更新的文件便可。

 

后两种实际上都是Release,这些版本有特别的意义,特别的Milestone或是release给客户的版本。后两种都不须要mergetrunk中。举例来讲,今天咱们的trunk作了一版,这个版本被认定是软件的1.0版。1.0版对于开发来讲是一个很是重要的里程碑。因此咱们要特别为他作一个标记,亦即Tag。假设,这个 1.0版是要正式release给客户或是相关vendor,咱们要能够为他作一个Release的标记。基本上,SVN只有目录的概念,并无什么 Tag的用法。因此SVN的菜单上面,BranchTag是同一个菜单。以这个1.0的例子来讲,就是在Trunk上面,按下鼠标右键,选择Branch/Tag的菜单。

 

首先,建个branches目录,并AddCommit,结果以下:

image.png


而后,右键菜单:


image.png


执行Branch/tag...:

image.png


上图的Log Message”应该输入一些说明文字。点击OK后:

image.png


分支V1.1创建成功,可是要先更新branches目录才能看到:

下图看到branches目录是空的:

image.png


执行update后看到:

image.png


还能够指定版本创建分支:

image.png


5.7 Merge

在开发分支上开发的代码文件每每须要合并到主干(trunk),有时候老版本分支和补丁分支也须要合并到主干中。

 

5.2节创建的项目的主干在哪里?实际上就是D:\测试项目\TestProject

 

先修改V1.1这个branch的文件:

image.png


上图的Program.cs正在修改中或者是代码文件在本地已经被修改,图标上的感叹号就是这个意思。Commit后表示V1.1和主干不一样了。

 

在资源管理器该目录下空白处右键:

image.png


执行Merge...”:

image.png


选择第一个,next >”:

image.png


URL to merge from”下面,点击“...”选择须要合并分支。

Revision range to merge”中指定须要合并的revision,这里选择版本5

点击Next...”:

image.png


点击Test merge”先测试一下:

image.png


这表示合并极可能不会错误,确认后返回,点击Merge”:

image.png


进入主干目录:

image.png


感叹号表示Program.cs已经被修改了。检查一下内部代码,便可提交。

 

5.7 conflictrevert

当有两我的同时编辑一个文件,第一我的提交时是正常的,第二我的提交时会提示更新工做副本,点肯定更新时会出现版本冲突。当一个文件出现冲突时,文件的图标为×××的感叹号。

提交后提示错误:

image.png

再如:

image.png

对于每一个冲突的文件,SVN在你的目录下放置了三个文件

image.png


这个时候,一种选择:先Update再提交。可是,可能会在代码文件中出现:

<<<<<<< .mine

       6666666666666600000

=======

      66666666666aaaaaaaaaa666

>>>>>>> .r16

 

因此,最好是选择revert

image.png


这时候,放弃了本身的修改。而后再使用备份文件从新修改回来。

 

还有两种选择:

一、在冲突提示上右键菜单有三个选项:

(1)直接标记已解决,至关于忽略;

(2)theirs为准,就是放弃本身,认可其余人修改的

image.png

(3)mine为准,就是坚持本身,抛弃其余人的

二、删除工做目录,从新拉取代码

相关文章
相关标签/搜索