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

如何在ubuntu下用SVN commit

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

( x4 `* F) ]; r1 @+ `- T一个简单的命令: sudo apt-get install subversion. C$ J! \2 r$ Z6 Q0 f
4 k6 u6 w. v% N6 X& j
假设你的项目工作路径(你刚开始建立的项目工作路径,没有进行过任何svn操作)为:/home/zzm/myproject5 ?" ^3 C& H8 Q9 g! U% q7 Y1 @

6 ?2 G" g. |  d8 w! R8 b2 J#建立一个名为 myproject 的 repository
7 R) ~. w( s. Y( ?- v. U  X- w# d; l1 csvnadmin create /home/zzm/svn-repo/myproject( E3 I6 u8 G: B$ v0 h( T9 `5 v
9 I+ ?2 m5 @0 V: m# g
#把 /home/zzm/myproject 下的内容导入到svn的版本库中,并建立一个本项目的版本库,版本号是 1。( F! F7 e% M6 i
svn import -m "这是大爷的项目的第一个版本,刚刚导入的" /home/zzm/myproject file:///home/zzm/svn-repo/myproject
2 h# J7 Q4 y' z' }, G" `; j
/ p8 j& o; `! {) B' ]% E, j, S现在我想跟你说一个概念,就是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命令:) z5 P0 n) S1 V; i+ n6 M
  ~3 ?5 j  S0 N5 y( e9 u  V% J
#建立一个名为 my_working_copy 的 working copy1 H  W! _) r& g
svn checkout file:///home/zzm/svn-repo/myproject my_working_copy
7 s1 U3 Q7 ?' s1 }8 w6 G(根据你文件多少会有很多的输出,最后会告诉你当前你checkout的版本)
" q( k0 u; R8 |! L# Q1 K
! H9 U2 k( z( F$ k; w. r' J#实际上你可以使用checkout命令获得项目的任意一个版本的全部内容,执行命令:- s+ }6 W6 S# C7 y# G- Q3 _
svn checkout file:///home/zzm/svn-repo/myproject my_working_copy_version_number -r version_number
' f; C% z. H; ?' ?" L8 P(version_number即是你所要获得的项目版本的版本号,比如1,2或者3等)
' n' c; b9 }* C( v$ V- Q0 L3 Q% _( ?1 o" X. ?' C  \2 Z
#如果你改变了你的working copy里面的内容,需要保存这次改变,即向版本库中添加一个版本,使用commit命令:
" \8 w) c8 ~/ U' Xsvn commit -m "大爷我添加了几张图片,更新了项目的企划"9 b) D4 J& Q6 C& \# n
(确保你终端当中的当前路径是你的working copy的路径,才能正确的执行本次命令)
4 }4 i  J. }3 }4 s6 C' Y: ?
, D4 G& e9 r9 L8 \5 ]4 }: w#经过几次commit之后,你可能有很多的版本在版本库里面,通过输入下面的命令可以查看各个版本的情况:( `5 G( W2 t: a+ a4 V: h8 U
svn log path7 P% x7 v) J6 t) x9 q
(path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)
# d' w) w8 ?1 @7 A6 F0 n1 X' f
" K2 f! L5 u$ `; K: B/ D& A: t4 s----------------------------------
+ U5 ~' n" [- W# R千万注意的内容:
7 e* i- u; g, o你在你的working copy目录中作文件操作时,比如删除或移动文件,不能直接用终端当中的命令 rm, mv 来进行,这样 svn 不能追踪到文件的变化,当你使用commit命令提交的时候,你不会得到任何的结果,想要让svn追踪你的变化你必须使用 svn del 或是 svn move 来完成删除或移动的操作,比如:0 `) {% Q3 h7 p

7 l; D: O- X$ @4 Z) q! l# 我拷贝了一个文件到working copy中,需要让svn知道我拷贝了一个文件:, L  [* Y- s4 y
svn add filename* j% ?1 E" V8 V4 S* g9 ]7 ^
# n  A. z( z) h8 |9 ^
# 其他的:
( Y/ w% n9 z2 f% j3 |' u. msvn move filename /home/zzm/my_working_copy/new_folder/aa
( g  }6 U2 B$ w6 u& Y8 N) \8 Csvn rename filename1 filename2
7 k3 d, x' W0 ]$ `8 Nsvn del filename3 M4 Y2 A. X3 L$ L! Y. B

0 K+ Q7 ^/ \  v* ~  T2 a; u差不多了,上面的东西已经足够个人用户使用了,楼主还有什么问题的话可以回帖询问。
( }' s; b3 _1 |; M* b希望上面的内容对你有所帮助!

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-25 17:52 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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