大厂入职日记
入职多益大厂第一天
SVN
公司用的是svn,现在都还有点迷糊搞不太明白,简单地介绍一下:
svnadmin create /repo 创建svn版本库
svnserve -d -r 目录 --listen-port 端口号 启动svn服务 -r有两种写法,一种是直接指定到对应的版本库,这样
只能管理一个版本库,另一种是写到版本库的上层路径,这样可以同时管理多个版本库
在启动服务之前,要先改写一下对应版本库的各个配置文件,在版本库的conf文件夹下面:
1.svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = /home/svn/passwd
authz-db = /home/svn/authz
%% 我就只用到了这几个, anon-access指定了非认证用户的访问权限 auth-access认证用户的访问权限,如果这一项设置
成了非none,non-access最好设置成none,password-db和authz-db分别是密码和权限所在的文件路径
2.passwd
<用户名> = <口令>
[users]
admin = admin
thinker = 123456
3.authz
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
[groups]
g_admin = admin,thinker
[admintools:/]
@g_admin = rw
- =
[test:/home/thinker]
thinker = rw
- = r
服务器搭建好后,就可以使用客户端进行操作了
首先就是checkout操作,他可以从服务器中拉出所需要的版本库副本
svn checkout svn://127.0.0.1/repo --username=admin
拉下来这个库之后可以对这个库里的文件进行各种操作,操作的结果是在本地进行的,要上传到服务器上需要进行提交操作
svn add 1.txt %%这时候还没有上传到服务器上面,用svn status可以看到当前状态
svn commit -m “add a new txt” %% 这个时候上传将status里面显示的改动上传到了服务器上
如果别人在你上传之前更改了服务器上你将要上传的文件,此时上传失败,调用update后必须海要解决冲突
当我们想放弃对文件的修改,可以使用 SVN revert 命令。
但是,假如我们想恢复一个已经提交的版本怎么办。
为了消除一个旧版本,我们必须撤销旧版本里的所有更改然后提交一个新版本。这种操作叫做 reverse merge。
首先,找到仓库的当前版本,现在是版本 22,我们要撤销回之前的版本,比如版本 21。
svn merge -r 22:21 readme
svn commit -m “revert”
有的时候我们需要用到分支
我们可以从trunk拷贝一个副本作为branch,在branch里改动的内容不会影响到trunk里的内容,如果将来要合并到trunk中,在修改branch的时候记得随时merge trunk里的内容到branch中,以防止trunk中的内容和branch越差越远。
svn copy trunk branch %%新增一个分支
svn commit -m “new branch” %%将分支上传到服务器上
cd branch
svn add 1.txt
svn commit -m “new file” %%在分支中新增一个文件
cd trunk
svn merge …/branch %%执行合并操作
svn commit -m “merge” %%将合并操作后的trunk上传到服务器
从上面也可以看出直接用命令行的形式来执行是有点麻烦的,所以平时都是用图形界面工具来处理的