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

如何在ubuntu下用SVN commit

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
* l4 k. f, r0 ^$ H* q  I) P
一个简单的命令: sudo apt-get install subversion
8 Z( R, ?8 I4 B: [2 E% \- t& r6 D9 l3 a* |4 b/ F0 G+ f" T, {' n
假设你的项目工作路径(你刚开始建立的项目工作路径,没有进行过任何svn操作)为:/home/zzm/myproject
! f9 i& E9 q3 P7 D9 V& D- t9 A3 d8 ]5 D" l4 {+ n! t3 T1 G+ ^
#建立一个名为 myproject 的 repository# w+ Q, ?8 H8 n6 Z$ p
svnadmin create /home/zzm/svn-repo/myproject
, R, `+ f2 L! H  g( w/ y
' s5 r4 a3 O- ]/ S  D1 s* o#把 /home/zzm/myproject 下的内容导入到svn的版本库中,并建立一个本项目的版本库,版本号是 1。
5 C) R, k! {, Z" k, P7 Psvn import -m "这是大爷的项目的第一个版本,刚刚导入的" /home/zzm/myproject file:///home/zzm/svn-repo/myproject
$ m3 I) L$ i+ s4 U% l4 z# [8 M. u1 Z$ _" f& y6 j' i* ~$ F
现在我想跟你说一个概念,就是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命令:/ n7 h8 m" W5 p% V' J
; o" G* W( O' q8 \' v; p  C
#建立一个名为 my_working_copy 的 working copy
. R/ B7 s! x! }) O* W; v0 K' M) zsvn checkout file:///home/zzm/svn-repo/myproject my_working_copy
' {+ v( r: z$ b7 H$ Z(根据你文件多少会有很多的输出,最后会告诉你当前你checkout的版本)
! h8 G' Z! U. v7 B: }) I$ Z
( h; c0 [" u/ O. {8 U#实际上你可以使用checkout命令获得项目的任意一个版本的全部内容,执行命令:4 u% Y  G6 y  L6 K2 u% Y/ I, p
svn checkout file:///home/zzm/svn-repo/myproject my_working_copy_version_number -r version_number
+ o% t' M3 J5 G; g! m) d! Y(version_number即是你所要获得的项目版本的版本号,比如1,2或者3等)
; \! O! G1 N, l. W6 ?3 p4 U0 W9 \3 }! a* S, U, I- W
#如果你改变了你的working copy里面的内容,需要保存这次改变,即向版本库中添加一个版本,使用commit命令:
' \0 o+ `: `" F+ S$ Asvn commit -m "大爷我添加了几张图片,更新了项目的企划"* s: m( P" O  h# h5 Z
(确保你终端当中的当前路径是你的working copy的路径,才能正确的执行本次命令)
4 D1 O1 @# T: d" Z7 }6 y! o2 A4 L& n" x4 ^6 R/ }6 u
#经过几次commit之后,你可能有很多的版本在版本库里面,通过输入下面的命令可以查看各个版本的情况:
: e8 e" K# S" v6 W9 S) O; ], Q. }svn log path4 n; _) S: n9 C. W
(path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)3 y' |" D+ p$ F- s/ k" J& @' w

. l. R/ b1 @. I: Q----------------------------------
2 b8 |7 L7 c/ z千万注意的内容:- ]0 @2 U( M3 d: C6 T5 J" E
你在你的working copy目录中作文件操作时,比如删除或移动文件,不能直接用终端当中的命令 rm, mv 来进行,这样 svn 不能追踪到文件的变化,当你使用commit命令提交的时候,你不会得到任何的结果,想要让svn追踪你的变化你必须使用 svn del 或是 svn move 来完成删除或移动的操作,比如:! q/ d6 M0 e3 w+ c5 I( x4 t. V
1 w1 a! E3 u3 ^4 h) l
# 我拷贝了一个文件到working copy中,需要让svn知道我拷贝了一个文件:
; q) c* L7 N$ e9 k* x4 C6 x/ p- ysvn add filename
/ \% q4 x+ O, y+ d! |
! _; c! S, B& H+ j  m% `# 其他的:
2 N9 l' a3 V  R/ ssvn move filename /home/zzm/my_working_copy/new_folder/aa# s0 Q( b, Y# n6 _! ^- _! A8 s
svn rename filename1 filename2
: R3 b6 o/ ?1 u& H; H/ tsvn del filename8 a$ \2 L+ H0 i/ [8 |
6 A/ a. ~+ R+ i* }
差不多了,上面的东西已经足够个人用户使用了,楼主还有什么问题的话可以回帖询问。
  {% v: t$ E( V  x. T" ]7 e希望上面的内容对你有所帮助!

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-26 02:03 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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