首页 > 代码库 > SVN使用入门(复习)

SVN使用入门(复习)

以下是以前学习SVN的笔记,现在复习一下。(建议使用google code)

 

clipboard

clipboard[1]

clipboard[2]

clipboard[3]

vss独占式的,微软的

CVS并发的、不支持目录的,不支持事务。

TFS 微软的,和SVN类似

clipboard[4]

既要用SVN,也要用Git

(从CVS到SVN的体会是:只要产品还有缺陷,那么就还有发展和改善的空间)

clipboard[5]

(典型的CS结构)

clipboard[6]

clipboard[7]

clipboard[8]

SVN实际上市SubVersion的缩写

clipboard[9]

clipboard[10]

clipboard[11]

clipboard[12]

clipboard[13]

clipboard[14]

clipboard[15]

clipboard[16]

客户端就装TortoiseSVN

clipboard[17]

clipboard[18]

往repository里面添加东西也是用 客户端,下面问号的意思可以再setting里面查到。

clipboard[19]

把文件提交到repository要经过两步(注意此处文件的状态时问号)

clipboard[20]

此时repository中并没有真正有那个文件,只是告诉repository客户端要添加文件

此时出现:

clipboard[21]

还需要:

clipboard[22]

clipboard[23]

添加成功了

clipboard[24]

clipboard[25]

此时服务器端仓库就有了

clipboard[26]

如果要该文件夹的所有文件全部提交,那么就在空白的地方,点击右键

clipboard[27]

clipboard[28]

之后再还是要commit

clipboard[29]

把工作目录中的某个文件修改过后:

clipboard[30]

但是发现改错了,你现在需要revert

clipboard[31]

clipboard[32]

点OK就行了。

如果修改认为没有问题,就直接把修改后的文件提交就可以了

clipboard[33]

clipboard[34]

删除文件的话:

clipboard[35]

删掉之后,文件夹上出现了:

clipboard[36]

说明还要提交:

clipboard[37]

clipboard[38]

现在才是删除了

clipboard[39]

把一个新文件夹引入到repository中不用check-in,而用import

clipboard[40]

export的意思是:

clipboard[41]

clipboard[42]

下面这个.svn负责的就是版本控制(每个受到版本控制的文件夹里面都会有.svn)

clipboard[43]

SVN的版本追溯

clipboard[44]

可以查看该文件所做的变化,下面的version是指工程的版本

clipboard[45]

也可以和先前的版本做一个对比:

clipboard[46]

clipboard[47]

还原到以前的某个版本:

clipboard[48]

clipboard[49]

(实际上SVN每次跟新只保存增量,并且保存的时候,还会进行压缩处理)

clipboard[50]

repo-browser可以直接浏览到仓库的目录结构

clipboard[51]

分发模块开发:

clipboard[52]

clipboard[53]

那么分支小组就要使用分支branch(分支小组要切换一下)

clipboard[54]

clipboard[55]

所有的工作做完了之后,再通过一个分支合并,进行和主线合并

clipboard[56]

clipboard[57]

clipboard[58]

clipboard[59]

clipboard[60]

大部分冲突需要手动解决

(每天一到办公室,第一件事儿就是先更新)

如果两人先后提交的是同一文件的不同代码,那么后一个人update的时候,可以自动合并:

clipboard[61]

虽然合并成功,但是还没有submit,所以还是

clipboard[62]

需要commit一下。

如果两人修改的是同一文件的,同一代码,那么:

后一个人直接提交肯定是提示out of date。需要先update一下,但是update会提示conflict

clipboard[63]

图标变成警告

clipboard[64]

其实r8表示之前的版本、r9,也就是最新的版本表示(先提交那个人已经提交后)从repository中update下来的版本

此时需要比对 mine 和 r9

手动修改 CommonMath.java 之后删除多余文件(window下的删除,不用SVN那个删除),手动commit

SVN的备份

clipboard[65]

注意:直接拷贝的方式不安全。

其实也可以,先把工作目录update为最新的,然后export就可以了。

(当然你首先要有足够到的权限、某则你只能export你的那一份)

clipboard[66]

当我操作一个文件的时候,我不希望别人在操作,那么我们可以lock 

clipboard[67]

clipboard[68]

clipboard[69]

用完之后记得release

clipboard[70]

check for modifications

clipboard[71]

小结:

clipboard[72]

(这仅仅只是一个入门)

当然还有很多管理工具

clipboard[73]

亦可以用在线的repository:如 code.google.com

SVN使用入门(复习)