找回密码
 注册
关于网站域名变更的通知
查看: 302|回复: 1
打印 上一主题 下一主题

如何在ubuntu下用SVN commit

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-3-26 10:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

/ h1 T3 H$ f3 }* u4 W( R一个简单的命令: sudo apt-get install subversion
& ^9 E. w9 L: ~0 B2 I0 B
  R6 w2 H* D# b. N) \假设你的项目工作路径(你刚开始建立的项目工作路径,没有进行过任何svn操作)为:/home/zzm/myproject8 R" ~0 u2 `, O% R- _& K& }. A6 Z/ J( W
- J2 G1 G% h0 m7 A! X( P
#建立一个名为 myproject 的 repository2 L" e0 `9 ^* |, z: p' M0 I
svnadmin create /home/zzm/svn-repo/myproject
0 G5 C) w9 o8 X! D5 J+ J1 g9 ?/ n6 ?' I$ `' g  O1 w# |6 H6 w. T
#把 /home/zzm/myproject 下的内容导入到svn的版本库中,并建立一个本项目的版本库,版本号是 1。
4 {4 m! H4 f* y$ Q: E) gsvn import -m "这是大爷的项目的第一个版本,刚刚导入的" /home/zzm/myproject file:///home/zzm/svn-repo/myproject/ t" u# n$ Y4 u- ]# G' ~
4 g9 l9 s7 Y" {. ?% ~
现在我想跟你说一个概念,就是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命令:
- m1 y: M, Q) n0 K0 i2 O8 B) P$ y6 C7 j  J! d
#建立一个名为 my_working_copy 的 working copy
: |  I8 O: o' `$ A1 E9 Isvn checkout file:///home/zzm/svn-repo/myproject my_working_copy( c0 s& O* P$ ]+ n* p
(根据你文件多少会有很多的输出,最后会告诉你当前你checkout的版本)' f, E) f. h2 W; F* E# r3 c

) ^7 H, c! t6 X0 p#实际上你可以使用checkout命令获得项目的任意一个版本的全部内容,执行命令:; V+ v' p) Z: B2 x% ~
svn checkout file:///home/zzm/svn-repo/myproject my_working_copy_version_number -r version_number7 ?+ D7 y& M8 X5 Q
(version_number即是你所要获得的项目版本的版本号,比如1,2或者3等)
9 |" b( u$ M1 y; V
( j: L5 [) J  o+ u; ~& U6 z1 n#如果你改变了你的working copy里面的内容,需要保存这次改变,即向版本库中添加一个版本,使用commit命令:
, r2 Z3 U- c& q7 Q8 e/ Vsvn commit -m "大爷我添加了几张图片,更新了项目的企划"3 e# W7 s9 e8 H2 b
(确保你终端当中的当前路径是你的working copy的路径,才能正确的执行本次命令)
! l* P; V# K8 A3 v' C' @7 [9 i- f
* R- I& N" G  `) ^  g' l3 c#经过几次commit之后,你可能有很多的版本在版本库里面,通过输入下面的命令可以查看各个版本的情况:) u6 g/ n0 T4 \$ b$ ^( {0 Q
svn log path
! P. G+ {. [3 f/ ](path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)3 Q  l' ~% }' ^$ s

% A2 h; k4 R! E& J4 {----------------------------------4 W7 h9 S# }2 J% D/ z$ e( N) k
千万注意的内容:! C' H9 G0 k: W- W( A* c
你在你的working copy目录中作文件操作时,比如删除或移动文件,不能直接用终端当中的命令 rm, mv 来进行,这样 svn 不能追踪到文件的变化,当你使用commit命令提交的时候,你不会得到任何的结果,想要让svn追踪你的变化你必须使用 svn del 或是 svn move 来完成删除或移动的操作,比如:7 g6 p# [* I7 R- Y
) h+ |) a  a8 j& @- B9 x1 w  j
# 我拷贝了一个文件到working copy中,需要让svn知道我拷贝了一个文件:8 C, j( }  u* Y- g
svn add filename
% T  U3 i1 S- S) V# w$ q6 r1 V* s. m, R$ T; e* x% v, p
# 其他的:
0 c' ?1 S2 Y9 Y9 F) esvn move filename /home/zzm/my_working_copy/new_folder/aa7 p9 ?- @+ b  g3 t' u2 o% z( w
svn rename filename1 filename2
- W4 S: C3 Z4 h. Hsvn del filename
3 U) z, B( K. Z* Z  q- g4 |
; V* O+ \- P/ F+ Y# s- G( z差不多了,上面的东西已经足够个人用户使用了,楼主还有什么问题的话可以回帖询问。
) X+ m9 }! [  J# Q5 ]希望上面的内容对你有所帮助!

该用户从未签到

2#
发表于 2020-3-26 18:24 | 只看该作者
如何在ubuntu下用SVN commit
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 20:06 , Processed in 0.140625 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表