svn下载地址 https://sliksvn.com/download/
1.检查是否安装了Subversion
svn-version
svnadmin-version
2.给项目创建一个空白目录,然后告诉Subversion在这个目录中创建一个新的项目仓库。
mkdir g:\svn\svn-repos
svnadmin create g:\svn\svn-repos
3.桌面上创建一个临时目录tmpdir。包含Day.txt和Number.txt两个文件。
文件Day.txt:
monday
tuesday
wednesday
thursday
friday
文件Number.txt:
zero
one
two
three
four
4.切换文件命令行到tmpdir路径下
\Desktop\tmpdir> svn import -m "importing Sesame project" file:///g:/svn/svn-repos/sesame/trunk
5.检查g:/svn/svn-repos目录下是否存在文件,存在的情况下才可以删除tmpdir下的数据。这样,svn服务器端的数据建立好了。
6.项目人员迁出到本地。g:\svn\目录下建立svn_work目录(为了模拟另外的用户建立客户端)
mkdir g:\svn\svn_work
7.迁出项目,切换到svnwork目录下
svn co file:///g:/svn/svn-repos/sesame/trunk sesame 注意:此处的命令参数co 应该是checkout的简称
8.可以在本地进行开发工作了。
G:\svn\local_work\sesame目录下编辑Day.txt文件
追加 saturday
sunday
9.查看操作文件状态
sesame> svn status Day.txt
M Day.txt --->Modify
10.查看文件具体修改情况
sesame> svn diff Day.txt
11.修改好了,提交服务器吧
sesame> svn commit -m "Client wants us to work on weekends"
12.查看更新日志记录
sesame> svn log Day.txt
G:\svn\local_work\sesame>svn log Day.txt
------------------------------------------------------------------------
r2 | apus | 2014-11-26 09:57:25 +0800 (周三, 2014-11-26) | 1 行
Client wants us to work on weekends
------------------------------------------------------------------------
r1 | apus | 2014-11-26 09:23:11 +0800 (周三, 2014-11-26) | 1 行
importing Sesame project
------------------------------------------------------------------------
13.查看每个版本中具体哪些被改动了
sesame> svn log --verbose Day.txt
G:\svn\local_work\sesame>svn log --verbose Day.txt
------------------------------------------------------------------------
r2 | apus | 2014-11-26 09:57:25 +0800 (周三, 2014-11-26) | 1 行
改变的路径:
M /sesame/trunk/Day.txt
Client wants us to work on weekends
------------------------------------------------------------------------
r1 | apus | 2014-11-26 09:23:11 +0800 (周三, 2014-11-26) | 1 行
改变的路径:
A /sesame
A /sesame/trunk
A /sesame/trunk/Day.txt
A /sesame/trunk/Number.txt
importing Sesame project
------------------------------------------------------------------------
14.模拟2人同时操作一个文件造成冲突
G:\svn\local_work> svn co file:///G:/svn/svn-repos/sesame/trunk sesame
G:\svn\local_work> svn co file:///G:/svn/svn-repos/sesame/trunk aladdin
15.G:\svn\local_work\sesame下修改Number.txt文件
追加 five
six
16.提交Number.txt的修改
cd sesame
sesame> svn commit -m "Cuctomer wants more numbers"
17.查看同时迁出的aladdin下的Number.txt文件
sesame> cd ..
local_work> cd aladdin
aladdin> svn status --show-updates
* 2 Number.txt
Status against revision: 3
18.查看本地拷贝和项目仓库中最新版本之间的差异
aladdin> svn diff -rHEAD Number.txt
19.我们可以更新在aladdin目录下的文件,以把在sesame中做过的改动
合并进来
aladdin> svn update
20.两人同时修改Number.txt中的同一行
sesame one-->ichi
aladdin one-->uno
aladdin> svn commit -m "User likes Italian one"
sesame> svn commit -m "One should be Japanese"
2014
@@ -1,5 +1,9 @@
ZERO
-one
+<<<<<<< .mine
+ichi
+=======
+uno
+>>>>>>> .r6
two
three
four
可以查看r6具体信息
21.svn log -r6 Number.txt
G:\svn\local_work\sesame>svn log -r6 Number.txt
------------------------------------------------------------------------
r6 | apus | 2014-11-26 10:30:18 +0800 (周三, 2014-11-26) | 1 行
User likes Italian one
------------------------------------------------------------------------
22.根据提示信息,找到对应开发人员沟通,解决问题后
sesame> svn resolved Number.txt