subversion版本控制系统的搭建和使用

subversion   版本控制系统   主要功能是保存每一次修改
安装包:  subversion  
mkdir   /var/svn
svnadmin  create   /var/svn/xixi  ##创建一个xixi的版本库
ls /var/svn/xixi
conf/  db/  format  hooks/  locks/  README.txt
cd  /usr/lib/systemd/system/  
svm import . file:///var/svn/xixi  ##将/usr/lib/systemd/system/的全部内容导入到svn的目录里面
vim  /var/svn/xixi/conf/svnserve.conf
##所有配置文件,要求顶头写,开头不要有空格。
anon-access=none          ##19行,修改为none,匿名访问者无任何权限
autu-access=write         ##20行,有效账户可写
passwd-db=passwd        ##密码文件
authz-db=authz          ##34行ACL访问控制列表
 
vim /var/svn/xixi/conf/passwd
[users]
harry = 123456
##设置用户名和密码
tom = 123456

vim /var/svn/xixi/conf/authz
[/]  ##定义ACL访问控制   ##一定要加上
rarry = rw
tom = rw

################################################
#####服务端
svn的默认端口3690
svnadmin create 路径    ##创建
svnserve  -d   路径   ##以守护进程的方式运行svnserve
svnserve  -r  ##指定虚拟路径,客户端每次会默认访问这个路径
#####客户端
cd /tmp
svn --username 服务端的用户名 --password 服务端的对应用户名的密码 co svn://192.168.4.5/ code
## 建立本地副本 从服务器192.168.4.5上下载代码到本地的code  
Store password unencrypted (yes/no)? yes            //提示是否保存密码
svn   update              ##将服务器上新的数据同步到本地上来
svn info svn://192.168.4.5  ##查看版本仓库信息
svn log svn://192.168.4.5  ##查看版本仓库日志
svn diff                ##查看所有文件的差异 对比有没有改变
svn diff xixi           ##只查看xixi目录的有没有改变
svn cat  svn://192.168.4.5/xixi ##查看服务器的内容
sed -i 'd'   bb           ##删除文件所有目录但为提交
svn  revert  bb              ##恢复删除的所有文件
svn merge -r7:3  xixi   ##将xixi从版本7恢复到版本3

使用svn命令测试svnserver服务时可以使用的命令列表
add   添加文件
commint(ci)  提交更新
checkout(co)  下载到本地
cat     查看服务端文件内容
del   删除文件
diff   文件对比
import   导入文件
info    查看版本信息
lsit    查看文件列表
log      查看版本历史
update     更新
mkdir    创建   
##在客户端用在前面都要加svn
 

使用Subversion协同工作
harry和tom修改不同的文件
# sed -i "3a ###tom modify#####"  tmp.mount
# svn ci -m  "has modified"
# sed -i "3a ###harry modify#####"  umount.target
# svn ci -m "has modified"
# svn update
# svn update

 

harry和tom修改相同文件的不同行
cd harry
sed -i "3a ###tom modify#####" user.slice
svn ci -m  "modified"
sed -i "6a ###harry  modify#####"  user.slice
svn ci -m "modified"        //提交失败
Sending        svnserve
Transmitting file data .svn: Commit failed (details follow):
svn: File '/user.slice' is out of date(过期)
svn update                    //提示失败后,先更新再提交即可
svn ci -m "modified"        //提交成功
Sending        user.slice
Transmitting file data .


harry和tom修改相同文件的相同行
sed  -i  '1c [UNIT]' tuned.service
svn ci -m "modified"
sed  -i  '1c [unit]' tuned.service
svn ci -m "modified"
Sending        tuned.service
Transmitting file data .svn: Commit failed (details follow):
svn: File '/tuned.service' is out of date(过期)
[root@web2 mycode]# svn update                    //出现冲突,需要解决
Conflict(冲突) discovered in 'tuned.service'.
Select: (p) postpone, (df) diff-full, (e) edit,
(mc) mine-conflict, (tc) theirs-conflict,
(s) show all options:p                    //选择先标记p,随后解决
[root@web2 mycode]# ls
tuned.service   tuned.service.mine        tuned.service.r10    tuned.service.r9
mv tuned.service.mine tuned.service
m  -rf  tuned.service.r10 tuned.service.r9
svn ci -m "modified"    //解决冲突

使用dump指令备份版本库数据
svnadmin dump  /var/svn/xixi >  /aa  ##备份
svnadmin   create  /var/svn/haha    ##新建版本库
svnadmin load /var/svn/haha < aa     ##还原

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值