如何在MAC环境下使用svn,以及新手在团队使用svn注意事项

如何在MAC环境下使用svn,以及新手在团队使用svn注意事项,第1张

在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境。在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还需做一下简单的配置。

我们首先来看下,如何在Mac环境下搭建svn服务器端环境。

创建代码仓库,用来存储客户端所上传的代码

我先在/User/apple目录下新建一个svn目录,以后可以在svn目录下创建多个仓库目录

打开终端,创建一个mycode仓库,输入指令:svnadmin create /Users/apple/svn/mycode

指令执行成功后,会发现硬盘上多了个/Users/apple/svn/mycode目录,目录结构如下:

配置svn的用户权限

主要是修改/svn/mycode/conf目录下的三个文件

1打开svnserveconf,将下列配置项前面的#和空格都去掉

[java] view plaincopy

# anon-access = read

# auth-access = write

# password-db = passwd

# authz-db = authz

anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问

2打开passwd,在[users]下面添加帐号和密码,比如:

[java] view plaincopy

[users]

mj = 123

jj = 456

帐号是mj,密码是123

3打开authz,配置用户组和权限

我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。

在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开

[java] view plaincopy

[groups]

topgroup=mj,jj

说明mj和jj都是属于topgroup这个组的,接下来再进行权限配置。

使用[/]代表svn服务器中的所有资源库

[java] view plaincopy

[/]

@topgroup = rw

上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@

如果是用户名,不用加@,比如mj这个用户有读写权限

[java] view plaincopy

[/]

mj = rw

至于其他精细的权限控制,可以参考authz文件中的其他内容

4启动svn服务器

前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。

在终端输入下列指令:svnserve -d -r /Users/apple/svn

或者输入:svnserve -d -r /Users/apple/svn/mycode

没有任何提示就说明启动成功了

5关闭svn服务器

如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器”

综合上述,我们就可以轻松搭建svn服务器环境了

在windows上搭建SVN很简单,但是效能却不高,这当然是和linux相比了然而在linux上搭建SVN却非常繁琐,这篇文章就来一步一步教您如何在Centos上搭建SVN

源码目录:/home/user/project

工程名:project

工程目录:/source/svn/project

访问地址:svn://ip/project

一、 安装svn

yum install subversion

二、 svn服务器配置

1 创建svn根目录

mkdir /source/svn

2 添加工程

svnadmin create /source/svn/project

3 导入工程初始文件(可省)

svn import /home/user/project/ file:///source/svn/project -m "init project"

4 配置工程用户

进入工程的配置目录:

cd /source/svn/project/conf

下面一共三个文件:authz passwd svnserveconf

passwd: 里面保存用户信息,基本格式为:user = passwd

authz: 里面保存用户的分组信息,以及每个组的访问权限

svnserveconf: 里面保存服务器的基本配置(下面介绍)

针对该例子的配置如下:

41 passwd里面添加用户

[users]

pm = pm123

42 authz配置用户权限

复制代码

[grouPS]

#添加一个分组(实际当中可以添加多个,每个组可以有多个用户以,隔开)

pm_g = pm

# 该项目的权限配置

[project:/]

# pm_g分组配置读写权限(实际中可以增加只读分组)

@pm_g = rw

43 svnserveconf配置(可默认)

# 匿名用户权限(none:拒绝, write:读写, read:只读权限)

anon-access = none

# 鉴权用户访问

auth-access = write

# 用户信息配置文件(也可以是绝对路径)

password-db = passwd

# 权限配置文件

authz-db = /source/svn/project/conf/authz

三、 启动svn服务器

svnserve -d -r /source/svn

四、 拉取代码

svn co svn://ip/project

svn5800vt配置?

一,intel版本,带显示器,键盘鼠标

cpu+主板:i59400f+华硕b365m-plusgamings(京东1729元)

显卡:铭_rx5808g(京东939元)

SSD:西部数据sn550512g(京东599元)

内存:威刚ddr42666x2(京东2292=458元)

散热:乔思伯CR-1000(京东88元,4热管带灯)

机箱:银欣PS15B(京东219元,双U3)

电源:长城500w(京东249元)

显示器:戴尔u2417h(京东1299元)

机械键盘:ikbcc87(京东288元)

鼠标:罗技g102(京东109元)

全京东总价:5977元

二,AMD版本,带显示器,键鼠

cpu+主板套装:微星破击炮b450mMortarmax+3600(京东1749元)

显卡:铭_rx5808g(京东939元)

SSD:西部数据sn550512g(京东599元)

内存:十铨ddr43200x2(京东519元)

散热:原装散热

机箱:银欣PS15B(京东219元,双U3)

电源:长城500w(京东249元)

显示器:戴尔u2417h(京东1299元)

机械键盘:ikbcc87(京东288元)

鼠标:罗技g102(京东109元)

全京东总价:5970

其中cpu+主板,ssd如果走淘宝,可以控制总价在5800以内。

若办公需求:显示器推荐u2417h

若游戏需求:显示器推荐AOC144hz238寸24G2,(京东价1169元)

如何在eclipse中配置svn插件?

在Eclipse下安装SVN插件步骤:

1、打开Eclipse,点击菜单Help—>InstallNewSoftware

2、进入安装窗体后,点击安装窗体的Add按钮,然后在弹出的窗体中输入插件安装地址http://subclipsetigrisorg/update_18x

3、等待Eclipse读出安装内容后,勾选需要安装的内容,这里Subclipse是必须安装内容,SVNKit为可选内容(建议全部勾选)

4、点击安装窗体下方的Next按钮,进入下一页后继续点击Next,然后需要手动同意安装许可

5、安装过程中可能会出现安全警告,直接点击OK继续安装即可

6、安装完成后Eclipse会提示是否重启软件,点击Yes重启Eclipse就完成SVN插件的安装了

30怎么安装和使用svn?

SVN,即subversion,是一个开源的版本控制系统,版本控制器。是CVS的派生版。

它是一个C/S模式的软件,既有SVN服务器,也有SVN客户端。利用它可以将数据更新到最新版本,也可以找回历史版本,可以检查文件的修改历史。

1SVN的基本功能

根据文件修改的次数,自动增加版本库的版本号(库中所有的文件共用一个版本号),以便找回历史文件。

防止团队开发时,多人同时修改同一文件导致文件被覆盖或删除。

2软件的安装

服务器的安装(建议先安装服务器)

Setup-Subversion-1617msi

客户端的安装

TortoiseSVN-161621511-win32-svn-1617msi

装完客户端后,需要重启电脑。

安装完毕以后,在桌面右击鼠标,如果出现两个SVN相关的选项,说明SVN安装成功

3服务器的搭建

a创建一个空文件夹,作为SVN服务器的目录例如E:server文件夹的名字可以随便取

b进入该文件夹,右键,选择TortoiseSVN菜单,单击里面的Createrepositoryhere(创建版本库)。系统就会自动在该目录中生成一些文件和文件夹

c修改conf文件夹中的passwd配置文件,添加代码yangjun=123456即添加用户和设置密码

d修改conf文件夹中的svnserveconf主配置文件,去掉#password-db=passwd所在行的注释。(目的是让passwd配置文件生效)

这样,SVN服务器就搭建好了。

4服务器的启动

打开Windows的命令行,执行命令svnserveexe-d-rE:server

之后,SVN服务器的目录(版本库)E:server就可以被SVN客户端访问了。需要注意的是,命令行界面(DOS界面)不能关闭,否则服务就停止了。

5客户端的使用

a新建一个空文件夹作为SVN客户端的目录。例如F:user1

b进入该文件夹,右键,选择TortoiseSVN菜单,单击里面的Repo-browser(浏览版本库),会弹出URL的输入框,输入svn://127001或svn://localhost(前面的表示访问服务器的协议,后面的表示服务器所在主机的ip)。

c右键,选择SVNCheckout(检出),连接服务器(第一次连接服务器的时候,需要检出,以后就不需要了)。

以后,就把SVN客户端的目录F:user1作为自己项目文件的目录,通过SVN服务器进行文件的上传、修改、下载和删除等操作。

6SVN客户端的目录中的文件的图标及含义

问号表示该文件是刚引入的新文件,还未被SVN版本库识别

加号表示该文件已经添加至服务器的观察名单,但还未上传至服务器

对号表示该文件的版本和服务器中的版本是一样的

感叹号表示该文件的内容和服务器中的文件内容不一样,也就是从版本库同步之后,该文件又作了修改,但还未上传至服务器

锁表示该文件已被锁定

客户端目录中新添加的文件,由于还未被服务器识别,所以是以问号标识的。

选择问号标识的文件,右键,选择TortoiseSVN菜单,单击里面的Add选项,添加至服务器的观察名单。这时,问号就变成了加号。

选择加号标识的文件,右键,选择SVNCommit(提交),执行上传。会弹出一个对话框,输入用户名和密码即可。这时,加号就变成了对号。

把对号标识的文件内容进行更改后,对号就变成了感叹号。

选择感叹号标识的文件,右键,选择SVNCommit(提交),执行上传。之后,感叹号就变成了对号。

选择对号标识的文件,右键,选择TortoiseSVN菜单,单击里面的Getlock(锁定)。之后,对号就变成了锁。

选择锁标识的文件,右键,选择TortoiseSVN菜单,单击里面的Releaselock(解锁)。之后,锁就变成了对号。

7远程用户下载SVN服务器中的文件的步骤

这里在F盘新建一个空目录F:user2进行模拟。

进入该文件夹,右键,选择SVNCheckout(检出),连接服务器,输入正确的URL。就会自动把版本库中的所有文件下载到当前目录。

以后,如果版本库中的文件有改动,右键,选择SVNUpdate(更新),就可以和版本库中的文件同步。即当前客户端目录中的文件和版本库中的一致。

可以理解为用户第一次下载用SVNCheckout(检出),以后下载就用SVNUpdate(更新)。

8文件的删除

进入客户端目录F:user1,直接删除你想要删除的文件(这时,只是客户端的文件被删除)。

要想把服务器中的对应文件也删除,可以右键,选择SVNCommit(提交),弹出一个对话框,勾选刚才删除的文件,点击确定。之后服务器中的对应文件也被删除了。

服务器上的某个文件被删除后,当其他客户端的用户,执行SVNUpdate(更新)时,就会和服务器中的文件同步。(对应的文件也会被删除)

9历史版本的找回

如果误删除了服务器上的某个文件,想要找回该文件,可以恢复到历史版本。

在客户端目录F:user1中,右键,选择TortoiseSVN菜单,再单击Updatetorevision,弹出一个对话框,选择revision,输入你想恢复到的版本号(一般是上一个版本号),确定。

10历史版本间的差异对比

如果某一个文件被多个人依次更新修改过,之后,大家也都同步了服务器的版本库。发现,某一个文件被别人更新过,可以通过以下方法查看差异。

选择被更新的文件,右键,选择TortoiseSVN菜单,再单击Diffwithpreviousversion,会对比显示出该文件的历史版本和当前版本的差异。

左边的是历史版本,右边的是当前版本。

11冲突的解决

冲突指定的是,当多个人同时对同一个文件进行修改后,某一个用户(user1)先进行了提交(更新了服务器的版本库),其他用户(user2)后进行的提交,此时,就会出现文件过时而无法提交的现象(因为user2修改的文件版本不是最新版本,所以会提示文件过时,导致无法提交)。

冲突的产生是SVN版本控制器的一个保护措施,可以有效防止客户端中低版本的文件覆盖服务器中高版本的文件。

如何解决冲突?

选择出现冲突的文件,右键,选择TortoiseSVN菜单,再单击Editconflicts,会对比显示出该文件的服务器版本和自身版本的差异。

左边的是服务器的版本,右边的是自身版本。

冲突的解决,是靠人为手动来解决的,一般是冲突相关的多个用户之间商量后,决定以某个文件版本为主。比如,经过大家商量后,决定以服务器中的版本为主。接下来,就应该这样操作:在左边区域(服务器的版本),右键,选择usethiswholefile或者在产生冲突的行,右键,选择usethistextblock来各取所长,依次处理完所有有冲突的行,之后,点击保存,关闭窗口。

然后,选择出现冲突的文件,右键,选择TortoiseSVN菜单,再单击Resolved(已解决)。告诉SVN冲突经大家商量后,已经解决。

这时,该文件就可以正常提交了。选择它,右键,选择SVNCommit(提交),上传至服务器。最后可以看到文件的标识变为对号。

12将SVN服务器安装至系统服务

前面我们说过,SVN客户端操作的过程中,开启SVN服务的命令行窗口不可以关闭,否则,SVN服务也会终止,导致客户端无法连接服务器。

这里,我们可以把SVN服务添加到系统的自启动服务当中。操作方法如下:

重新打开cmd命令行,在命令行中执行以下命令

sccreatesvnservebinpath="D:ProgramFilesSubversionbinsvnserveexe--service--rootE:server"

如果提示“CreateService成功”,则表明创建系统服务成功。此时,添加的服务名为svnserve,状态默认是关闭的,启动方式为手动。

之后,我们就可以利用Windows系统自带的服务管理界面进行管理,比如开启SVN服务,设置为自启动等。而不用通过命令行来控制了。

删除系统服务scdeletesvnserve(如果删除了系统的svnserve服务,我们就又只能通过命令行来开启SVN服务,且不能关闭命令行窗口)

13取消记住的用户名和密码

如果在进行身份验证的时候,我们勾选了记住用户名和密码。那么,当我们需要使用别的用户名进行操作时,便会出现无法更改账号的情况,这时,我们可以取消记住的用户名和密码。下次进行身份验证的时候,我们就可以选择输入其他的用户名和密码。

取消记住用户名和密码的方法:

删除身份验证时保存在系统中的相关文件(auth文件夹)即可。进入C:UsersAdministratorAppDataRoamingSubversion这个目录,删除里面的auth文件夹。

14权限管理

SVN的默认权限设定是匿名用户也可以连接到服务器,访问服务器中的文件,还可以进行下载。也就是说,任何一个人只要知道了SVN服务器所在主机的ip,就可以下载版本库中的所有文件。这种默认的权限设定是不安全的。因此,我们有必要进行SVN服务器的权限管理。

打开SVN服务器的主配置文件E:serverconfsvnserveconf,将这行代码

#anon-access=read

修改成

anon-access=none

保存即可。

之后,匿名用户对服务器就没有读的权限。也就是说,用户在浏览版本库和下载文件时,需要输入用户名和密码。

15权限分配

权限分配指的是,给不同的用户分配不同的权限,比如,需要设定某些用户(管理员)对所有的文件都有读和写的权限,其他用户(普通用户)只有读的权限或者只对服务器目录中的某个文件夹有读和写的权限时,就可以用到权限分配。

这时,我们需要修改服务器配置文件目录(E:serverconf)中的三个配置文件:svnserveconf、passwd和authz。

详细操作方法可自行查阅相关文档·

如何在myeclipse上配置svn插件?

在myeclipse中安装svn图解:

步骤如下:

1找到MyEclipse10在安装目录下的dropins文件夹

2打开dropins文件夹,新建一个svn文件夹

3解压缩下载好的压缩包

4把features和plugins文件夹拷贝到dropins文件夹下的SVN文件夹中

5这样就可以在MyEclipse10中安装好SVN插件了。

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的

Linux上部署4个项目的svn操作步骤:搭建SVN

[root@localhost ~]# yum -y install subversion

[root@localhost ~]# svnserve --version

svnserve, version 1611 (r934486)

 

[root@localhost ~]# mkdir -p /a/svn/

[root@localhost ~]# mkdir /a/passwd

[root@localhost ~]# svnserve -d -r /a/svn

[root@localhost ~]# svnadmin create /a/svn/repo1

[root@localhost ~]# svnadmin create /a/svn/repo2

[root@localhost ~]# cp /a/svn/repo1/conf/passwd  /a/passwd/

[root@localhost ~]# cp /a/svn/repo1/conf/authz  /a/passwd/

[root@localhost ~]# vim /a/svn/repo1/conf/svnserveconf 

[general]

anon-access=none

auth-access=write

password-db = /a/passwd/passwd

authz-db = /a/passwd/authz

realm=1111111111111111

[root@localhost ~]# mv /a/svn/repo2/conf/svnserveconf 

/a/svn/repo2/conf/svnserveconfbak 

[root@localhost ~]# mv /a/svn/repo3/conf/svnserveconf 

/a/svn/repo3/conf/svnserveconfbak 

[root@localhost ~]# mv /a/svn/repo4/conf/svnserveconf

/a/svn/repo4/conf/svnserveconfbak 

[root@localhost ~]# cp /a/svn/repo1/conf/svnserveconf 

/a/svn/repo2/conf/svnserveconf

[root@localhost ~]# cp /a/svn/repo1/conf/svnserveconf 

/a/svn/repo3/conf/svnserveconf

[root@localhost ~]# cp /a/svn/repo1/conf/svnserveconf 

/a/svn/repo4/conf/svnserveconf

[root@localhost ~]# vim /a/passwd/passwd

[users]

chen=chen123

lu=lu123

zhang=zhang123

wang=wang123

hua=hua123

dong=dong123

[root@localhost ~]# vim /a/passwd/authz 

[groups]

java=chen,lu,zhang

ios=wang

web=hua

jishu=dong

[repo1:/]

@java=rw

[repo2:/]

@ios=rw

[repo3:/]

@web=rw

[repo4:/]

@jishu=rw

[root@localhost conf]# chmod 700 /a/passwd/ 

[root@localhost ~]# pkill svnserve

[root@localhost ~]# ps -ef |grep svn

root      2405  2106  0 18:59 pts/1    00:00:00 grep svn

[root@localhost ~]# svnserve -d -r /a/svn/

[root@localhost ~]# ps -ef |grep svn

root      2411     1  0 19:00        00:00:00 svnserve -d -r /a/svn/

root      2413  2106  0 19:00 pts/1    00:00:00 grep svn

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 如何在MAC环境下使用svn,以及新手在团队使用svn注意事项

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情