|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
4 ]4 S; i6 D, f; @* J5 ]
一个简单的命令: sudo apt-get install subversion
+ t* b2 B/ F; V' X9 T# ?* q( U
6 q& y: o* M- _+ E- V假设你的项目工作路径(你刚开始建立的项目工作路径,没有进行过任何svn操作)为:/home/zzm/myproject6 e6 F2 P: X% B2 |9 x% b/ u% V
6 S: K/ A/ i; c# k#建立一个名为 myproject 的 repository
* J$ H8 Z* f- o. H& B1 }svnadmin create /home/zzm/svn-repo/myproject. N L! f3 ?+ n. u
$ F' d& k& w: H6 Q. Z#把 /home/zzm/myproject 下的内容导入到svn的版本库中,并建立一个本项目的版本库,版本号是 1。' F# R( a; T5 {
svn import -m "这是大爷的项目的第一个版本,刚刚导入的" /home/zzm/myproject file:///home/zzm/svn-repo/myproject# C- P# } _% ^6 ?0 c% W
2 y' L0 d4 d9 {( ~现在我想跟你说一个概念,就是svn中的working copy,实际上我们在上面一共建立了两个文件夹,一个是你的项目文件夹:/home/zzm/myproject,另一个是你的项目的版本库文件夹:/home/zzm/svn-repo/myproject,这两个文件夹都不是所谓的working copy,真正的working copy是负责直接和版本库进行同步和记录操作的,在working copy文件夹内,有一个隐藏的.svn文件夹。通常我都不是在working copy文件夹里面直接操作,而是另一个地方编辑文件等,然后把在另一个地方改动的东西直接拷贝到working copy里面,然后执行commit命令进行版本的维护。要建立你的working copy只有使用checkout命令:8 a' I$ G/ L1 e+ r
9 _$ F1 c, H& l/ S f* x" E; r
#建立一个名为 my_working_copy 的 working copy
* o+ F9 c8 Q# Y+ tsvn checkout file:///home/zzm/svn-repo/myproject my_working_copy
7 J5 ^. g& G! k+ N* `(根据你文件多少会有很多的输出,最后会告诉你当前你checkout的版本)2 H, {4 o; w) ?" m7 z
2 H8 y5 ^+ R( q6 k L4 M- I# w
#实际上你可以使用checkout命令获得项目的任意一个版本的全部内容,执行命令:
$ e! l( s) @8 @& ^svn checkout file:///home/zzm/svn-repo/myproject my_working_copy_version_number -r version_number
8 j% W) s( R7 t2 J6 o' [(version_number即是你所要获得的项目版本的版本号,比如1,2或者3等)3 \: |# d* l( I- h. I$ T" E
& ~2 z m. r: a' Z& T
#如果你改变了你的working copy里面的内容,需要保存这次改变,即向版本库中添加一个版本,使用commit命令:. k) T3 q7 T4 u# |9 l
svn commit -m "大爷我添加了几张图片,更新了项目的企划"0 x) e) A; z; d" y6 }( F
(确保你终端当中的当前路径是你的working copy的路径,才能正确的执行本次命令)
$ G$ d1 b/ I. w7 D& R ~2 Q" u) B3 B- l
#经过几次commit之后,你可能有很多的版本在版本库里面,通过输入下面的命令可以查看各个版本的情况:
. [8 F+ h# f9 J$ | y* Dsvn log path8 V! X: u' L5 X& G) |( M
(path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)
, b6 c+ O. d: _7 \8 Y- Z0 f
2 m# Z; ]* g& l; [7 ^) ]$ e----------------------------------
) c/ j% Z4 O4 V, r2 M+ K i千万注意的内容:2 c* j. D+ c% X1 F E7 y
你在你的working copy目录中作文件操作时,比如删除或移动文件,不能直接用终端当中的命令 rm, mv 来进行,这样 svn 不能追踪到文件的变化,当你使用commit命令提交的时候,你不会得到任何的结果,想要让svn追踪你的变化你必须使用 svn del 或是 svn move 来完成删除或移动的操作,比如:- f0 g, H6 _/ b" y# ~$ \0 U( k
& e# f& l' \- q$ r8 H# 我拷贝了一个文件到working copy中,需要让svn知道我拷贝了一个文件:2 c) { ~/ H2 b+ j! b( y5 O
svn add filename, h5 r' a7 `% s {. v
4 ^( E+ J6 n. H7 j" K9 `' g* U- B
# 其他的:
7 n2 ]6 S2 f6 K& l( [svn move filename /home/zzm/my_working_copy/new_folder/aa: M3 \! w* s: [# n; q! Z( F& O
svn rename filename1 filename2
k' Y0 I4 r) U$ ~: K& H7 ?3 P# A2 ksvn del filename
4 w% D4 ], z9 \8 F f- ]1 W( h3 N4 X V* u
差不多了,上面的东西已经足够个人用户使用了,楼主还有什么问题的话可以回帖询问。0 I: t! r1 {. @. I
希望上面的内容对你有所帮助! |
|