代码管理平台介绍、安装svn、客户端使用svn、远程仓库、分支管理、标签管理、git别名、搭建git服务、安装gitlab、简单使用gitlab、备份和恢复

本文介绍了代码管理平台的重要性,详细讲解了svn和git的使用,包括安装、客户端操作、远程仓库管理、分支与标签管理,并提到了git别名设置和gitlab的安装与使用,旨在帮助开发者掌握有效的版本控制技巧。
摘要由CSDN通过智能技术生成

22.1 代码管理平台介绍

现在的开发工作都是由团队合作来完成开发,通常都是团队中的每个人或者每几个人完成一个模块的开发,最后再将模块拼凑起来,形成一个完整的项目,这就涉及到了协同开发。在各个模块的开发过程中,肯定会因为出现BUG或者需求更改,而进行代码的修改甚至重构的,代码每修改一次就相当于迭代了一次版本,一个完整的项目中通常会有多个模块,如果每个模块的开发过程中都会修改或重构代码,那么如果没有一个平台来管理、控制这些代码,肯定会造成代码混乱的局面。所以这时候就有了一个概念:版本控制,代码管理平台的主要功能就是进行版本的控制,以及记录代码修改、版本迭代的历史信息。

  • 版本控制,记录若干文件内容变化,以便将来查阅特定版本修订情况
  • 版本管理工具发展简史,cvs svn  git 参考http://luckypoem14.github.io/test/2012/04/24/scm-history/
  • svn全称subversion,是一个开源版本控制系统,始于2000年
  • git是linux创始人linus发起的,2005年发布,最初目的是更好管理linux内核代码
  • git和svn不同在于git不需要依赖服务端就可以工作,即git是分布式的
  • 关于git和svn的比较大家参考http://blog.lishiming.net/?p=305
  • github是基于git的在线web页面代码托管平台,可以选择付费服务
  • gitlab可以认为是一个开源的github,两者没有直接关系

22.2 安装svn

1、 yum install -y subversion
2、创建版本库 
 mkdir -p /data/svnroot/myproject #创建一个目录来存放项目的版本库
 svnadmin create /data/svnroot/myproject  #初始化,创建项目的版本库
[root@aming3 ~]# mkdir -p /data/svnroot/myproject
[root@aming3 ~]# svnadmin create /data/svnroot/myproject
[root@aming3 ~]# ls -la !$
ls -la /data/svnroot/myproject
总用量 8
drwxr-xr-x. 6 root root  86 8月  29 21:07 .
drwxr-xr-x. 3 root root  23 8月  29 21:04 ..
drwxr-xr-x. 2 root root  54 8月  29 21:07 conf
drwxr-sr-x. 6 root root 233 8月  29 21:07 db
-r--r--r--. 1 root root   2 8月  29 21:07 format
drwxr-xr-x. 2 root root 231 8月  29 21:07 hooks
drwxr-xr-x. 2 root root  41 8月  29 21:07 locks
-rw-r--r--. 1 root root 229 8月  29 21:07 README.txt
3、进入目录查看相关文件
 cd !$/conf     #配置文件所在的目录 #authz为权限配置文件,passwd为密码文件,svnserve.conf为仓库配置文件
[root@aming3 ~]# cd !$/conf 
cd /data/svnroot/myproject/conf 
[root@aming3 conf]# ls
authz  passwd  svnserve.conf
4、配置权限配置文件
 vim authz//配置文件改为如下
[groups]
admins = aming,user1
[/]
@admins = rw
*= r
[myproject:/]
user1 = rw
[root@aming3 conf]# vim authz
[groups] # 用户组
admins = user,user1 # 定义用户,可以定义多个 

[/] # 根目录
@admins = rw # 设置该用户组的权限是可读可写
*= r  # 设置所有的用户都可以读

# 可以指定对某个项目进行设置权限
#[myproject:/]
#user1 = rw  # 设置user1拥有可读可写权限
5、配置密码置文件
  vim passwd//加入如下内容
[users]
aming = aming_!(*$123
user1 = user1_^^^123
user2 = user2-***123
6、配置仓库配置文件
vim svnserver.conf//更改或增加如下内容
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /data/svnroot/myproject
[root@aming3 conf]# vim svnserve.conf
[general]
anon-access = none  # 定义匿名用户的权限
auth-access = write  # 定义用户的权限
password-db = passwd  # 定义用户的密码文件
authz-db = authz  # 定义用户的权限文件
realm = /data/svnroot/myproject  # 定义对哪个项目生效
7、启动svn服务
svnserve -d -r /data/svnroot  # -d指定后台启动,-r指定库所在的目录
[root@aming3 conf]# svnserve -d -r /data/svnroot
[root@aming3 conf]# ps aux |grep svn
root      3334  0.0  0.0 162200   652 ?        Ss   22:28   0:00 svnserve -d -r /data/svnroot
root      3336  0.0  0.0 112676   984 pts/0    S+   22:28   0:00 grep --color=auto svn
[root@aming3 conf]# netstat -lntp |grep svn
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      3334/svnserve

22.3 客户端上使用svn(linux)

  • 客户端安装subversion:
yum install -y subversion
  • 创建目录并连接服务端的myproject版本库(服务端需关闭防火墙)
[root@aming4 ~]# cd /home/
[root@aming4 home]# mkdir svntest
[root@aming4 home]# cd svntest/
[root@aming4 svntest]# svn checkout svn://192.168.222.112/myproject --username=user1
认证领域: <svn://192.168.222.112:3690> /data/svnroot/myproject
“user1”的密码: 

-----------------------------------------------------------------------
注意!  你的密码,对于认证域:

   <svn://192.168.222.112:3690> /data/svnroot/myproject

只能明文保存在磁盘上!  如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。

你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?y
取出版本 0。
  • 进入版本库,上传文件到服务端;
[root@aming4 svntest]# cd myproject
[root@aming4 myproject]# ll -a
总用量 0
drwxr-xr-x. 3 root root 18 8月  30 09:59 .
drwxr-xr-x. 3 root root 23 8月  30 09:59 ..
drwxr-xr-x. 4 root root 75 8月  30 09:59 .svn
[root@aming4 myproject]# cp /etc/fstab .
[root@aming4 myproject]# ls
fstab
[root@aming4 myproject]# svn add  ./fstab    # 添加到版本控制中心
A         fstab
[root@aming4 myproject]# svn commit -m "add fstab"   # 把文件上传到服务器
正在增加       fstab
传输文件数据.
提交后的版本为 1。
[root@aming4 myproject]#
  • 删除本地文件,删除服务端的文件,查看变更日志
[root@aming4 myproject]# svn delete fstab 
D         fstab
[root@aming4 myproject]# svn commit -m "delete fstap"
正在删除       fstab

提交后的版本为 2。
[root@aming4 myproject]# svn log

22.4 客户端上使用svn(windows)

22.5/22.6 单机上使用git

  • 安装:
yum install -y git
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值