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

如何在ubuntu下用SVN commit

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x

; C. \% ^" I4 u+ T一个简单的命令: sudo apt-get install subversion
1 |/ J( n" M( \$ V: }+ D" |0 u1 b, m$ T: b  j# w3 U/ {4 F
假设你的项目工作路径(你刚开始建立的项目工作路径,没有进行过任何svn操作)为:/home/zzm/myproject0 q" {9 a: T& [+ I. g

, S4 Y  ?% ^6 {. x+ a7 \3 }* H#建立一个名为 myproject 的 repository# z# f, X; v, k
svnadmin create /home/zzm/svn-repo/myproject
# d# D) P3 I* u  g
. W: w4 `7 `7 E$ M7 d% L1 T1 e; {#把 /home/zzm/myproject 下的内容导入到svn的版本库中,并建立一个本项目的版本库,版本号是 1。0 @2 p, F6 Q; v; P$ a+ `
svn import -m "这是大爷的项目的第一个版本,刚刚导入的" /home/zzm/myproject file:///home/zzm/svn-repo/myproject
8 J$ N# N7 d3 v" [3 m2 t( c& o
& C5 r4 ^+ D' J现在我想跟你说一个概念,就是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命令:
  M  N9 ?5 {; S9 F; ^) n0 }6 C) l) a! ^! L
#建立一个名为 my_working_copy 的 working copy
$ W' J2 v! v# v0 R7 V, h- csvn checkout file:///home/zzm/svn-repo/myproject my_working_copy; D6 c7 F; f$ x5 n: d: O9 B* W, t
(根据你文件多少会有很多的输出,最后会告诉你当前你checkout的版本)
0 Y2 J" p8 d( ^. |) {0 U+ ^4 H
' S3 c" |7 m, d#实际上你可以使用checkout命令获得项目的任意一个版本的全部内容,执行命令:1 K' C* ]  O9 `5 o  z/ a9 l* m
svn checkout file:///home/zzm/svn-repo/myproject my_working_copy_version_number -r version_number& c" U1 o, J( R
(version_number即是你所要获得的项目版本的版本号,比如1,2或者3等)
3 q, X7 E3 |; k& `( a% X& X5 f% ^& W  c7 l2 o
#如果你改变了你的working copy里面的内容,需要保存这次改变,即向版本库中添加一个版本,使用commit命令:
+ u8 U: }2 y9 Vsvn commit -m "大爷我添加了几张图片,更新了项目的企划"
4 M( r7 b& R1 Q- k/ B- F% V(确保你终端当中的当前路径是你的working copy的路径,才能正确的执行本次命令)
" Z9 l/ h! S  Q7 o1 o7 X
( P1 |- x7 p- f+ B8 ^#经过几次commit之后,你可能有很多的版本在版本库里面,通过输入下面的命令可以查看各个版本的情况:
  ~7 p2 c. d  P8 O6 Dsvn log path( J4 ^. T2 h& g. Z; L! f0 {7 b
(path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)
& |; q6 Y: n8 `! `; }& y5 U' I
5 B6 j; F! R4 m7 w; T4 C5 G----------------------------------: W) P# u) v" ]0 \$ k( g( }
千万注意的内容:4 W9 N" j+ v$ w
你在你的working copy目录中作文件操作时,比如删除或移动文件,不能直接用终端当中的命令 rm, mv 来进行,这样 svn 不能追踪到文件的变化,当你使用commit命令提交的时候,你不会得到任何的结果,想要让svn追踪你的变化你必须使用 svn del 或是 svn move 来完成删除或移动的操作,比如:
  C7 o1 u3 X! s  c1 F  S6 h) P8 a' {- Z; P+ W
# 我拷贝了一个文件到working copy中,需要让svn知道我拷贝了一个文件:
2 K$ F5 l" n2 w5 O8 l5 _svn add filename
( X" R. G" X/ W& j" d6 m* ?5 \& ?0 ~  @' ^. v
# 其他的:
# _, M/ X8 p! ~6 gsvn move filename /home/zzm/my_working_copy/new_folder/aa$ D9 O' K$ c+ }6 `$ s2 T
svn rename filename1 filename2, v4 V1 H# I$ l/ X) u' N
svn del filename
' @% g: s+ z: g0 Z) |7 o9 L% d
0 |' z  O' Y* X" v+ e1 Z差不多了,上面的东西已经足够个人用户使用了,楼主还有什么问题的话可以回帖询问。* u# S: t& W+ \! d
希望上面的内容对你有所帮助!

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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