1、如何在MAC环境下使用svn,以及新手在团队使用svn注意事项
1、Xcode4中苹果有自带的SVN软件------>Organizer------>Repositories
2、SVN checkout到本地后,删除本地file,对服务器有影响吗?
不会影响服务器,当你执行“svn update”时会zai再次被自动下载;当删除后再执行“svn commit”就会在服务器上也对应删除。
3、连接服务器
点击file-》repositories-》点击坐下边的“+”-》然后名字及svn服务器的地址,还有type选中subversion然后next等等了。
4、Xcode4下,SVN中常用命令
Commit 提交
checkout 将服务器上下载到本地(我个正在使用的电脑)
update 更新文件
File------->SourceController------->update
图片中第3个按钮,是视图对比按钮.
5、SVN中用法详解和注意事项
①提交自己的代码
SVN更新的原则是要及时更新,及时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,尽量早的提交,这样也保存了历史版本,必要时候可以回滚;在开始一天的工作之前,最后update一下项目。
②保持原子提交(不要不经意间修改并提交了别人的文件)
仅提交你修改的部分,最好不要一下子将整个项目提交;
当完成一个功能或文件后,最好提交。我就遇到完成某个功能后,没有提交,后来又做了更改,结果代码出现bug,无法恢复到正常时的代码。
③不要提交自动生成的文件
VisualStudio等开发工具在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,这些文件在提交的时候不应该签入,如果不小心签入了,需要从仓库中删除。
④不要提交不能通过编译的代码
代码在提交之前,首先要确认自己能够在本地编译。进行SVN提交更新时最好是代码在提交前已经通过自己的测试。
SVN中常用命令详解
1、将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
例如:svn checkout svn://192.168.1.1/pro/domain
2、往版本库中添加新的文件
svn add file
例如:svn add test.php(添加test.php)
3、删除文件
svn delete path -m “delete test fle“
例如:svn delete svn://192.168.1.1/pro/domain/test.php -m “delete testfile”
4、查看日志
svn log path
5、比较差异
svn diff path(将修改的文件与基础版本比较)
6、将两个版本之间的差异合并到当前文件
svn merge -r m:n path
SVN使用方法
更新(update),经常地update没有坏处,特别是多人项目中。如果每次提交(commit)前不进行更新(update)的到最新的版本的话,svn会提示当前的拷贝过期,需要更新。
提交(commit),一定要写上这次提交的内容的摘要,便于以后查阅。
将文件checkout到本地目录
svn checkout path(path是服务器上的目录)
svn update命令自动用服务器上的版本替换本地版本控制的文件
6、Xcode中使用SVN问题以及提交解决冲突问题
Xcode的SVN功能,和Eclipse中的subclipse或者windows下的tortoiseSVN比较起来功能还差很多。
我是索性不用的,直接用命令行。我看有的朋友是用subclipse,其实也挺好,不过,为了使用SVN功能要单独开一个耗费资源的Eclipse。
但是,不论使用什么SVN工具,都会遇到Xcode固有的问题,即project.pbxproj文件的提交冲突问题。
project.pbxproj文件里面包含了构建过程所需的所有文件,如果你在项目目录下增加了新文件,比如没有通过Xcode,该文件就不在project.pbxproj文件中,就不会生成到app中。同理,如果你从SVN中更新到其他项目成员增加的文件,而没有更新project.pbxproj文件(或者该成员根本就没有提交这个文件),则也会出现相同的现象。
如果项目成员提交了新的project.pbxproj文件,你这边没有在项目中增加新的文件,直接svn update就可以了。
7、Xcode中更新代码后项目文件打不开
若选择更新整个项目经常会出现冲突问题,尤其是project.pbxproj文件。此文件包含了构建过程所需的所有文件,如果在项目目录下增加了新文件,但没有通过Xcode,
该文件就不在project.pbxproj文件中,就不会生成到app中。同理,如果从SVN中更新到其他项目成员增加的文件,
而没有更新project.pbxproj文件(或者该成员根本就没有提交这个文件),则也会出现相同的现象。这一文件冲突将直接导致项目文件打不开。
解决更新代码后打不开项目文件方法:
当项目文件如tobacco.xcodeproj打不开时可以右键选择'显示包内容',会看到有三个文件,project.pbxproj/user.modelv3/user.pbxuser。
其中project.pbxproj有三个版本,和解决普通svn文件冲突一样解决冲突即可。
8、SVN 更新 提交 合并 区别
当本地文件没有改动,服务器文件改动的时候,更新会从服务器取文件覆盖当前文件
当本地文件有改动,服务器文件没改动的话,不会更新此文件
当本地文件有改动,服务器文件有改动的话,如果改动的部分不冲突,就会合并文件到本地,如果有冲突的话,会提示文件冲突,需要自己手动修改以后上传到服务器。
最后一个讲解合并:
服务器和本地的同一个文件(所谓同一个文件应该就是SVN相对路径相同,文件名相同的文件,这个由SVN留在本地的信息决定)已经修改,且修改的部分不重合,不重叠
当满足上面的条件的时候再更新,SVN就会自动合并
SVN的奥妙之处就在于别人提交了修改后的文件,你再提交你的话,他是不允许你提交滴。。。
>>>>
<<<
里面标记的是冲突的区域,把冲突区域删除掉为什么还不能提交
解决办法1:
删掉的话还是没有解决冲突,文件后面还会有几个文件名相同,但是后缀不同的文件
如果你不知道用SVN解决冲突的话,最简单的办法是这样的
把这个文件改名字,然后在文件所在目录更新,这样就会把服务器文件下下来,然后把自己修改的部分添加到更新的文件里面,这样就可以提交了
解决办法2:
在文件上面点击右键,到SVN的菜单,应该有编辑冲突的按钮,选择就会出现一个窗口,一边是服务器版本,一边是自己修改的版本 。
9、xcode自带svn的使用
1、代码中 某文件后面有 “M” 标记,表示该文件已被修改,需要 commit.
(右键该文件 -> source control -> commit selected file...)
2、代码中 某文件后面有 “A” 标记,表示该文件是新添加的,已受SVN管理,需要 commit.
(右键该文件 -> source control -> commit selected file...)
3、代码中 某文件后面有 “?” 标记,表示该文件是新添加的,并且脱离了SVN的管理,首先需要add,然后 commit.
(右键该文件 -> source control -> Add,这样该文件的标记就变为 “A”,然后在 commit).
2、mac 怎么安装svn 客户端
方法/步骤
打开终端,创建一个代码仓库,用svnadmin create创建.
进入svndir文件夹可以看到
conf文件夹是配置版文件夹,里权面有相关配置,先选择svnserve.conf配置。
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
去掉这几个前面的#和空格,
anon-access 表示匿名访问权限
创建个帐户,要进passwd文件配置,在[users]后面加zyx=123456,表示创建了zyx帐户,密码是123456.
文件authz可以配置用户组及权限,可以把passwd里添加的用户加到一个用户组里或创建一个用户组,这样就可以对整个组设置权限了,还不用对每个用户进行单独权限设置。这里加了个zyxgroup组,包括用户zyx,权限是对根目录有读写权限,[/]表示根目录。
6
接下来是启动svn服务器,如果,没有提示就表示成功了。
7
关闭svn服务器的话,可以用ps找到它的pid,然后kill它就可以了。
3、MAC环境下如何搭建SVN服务器
在Windows环境中,我们一般使用来搭建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.打开svnserve.conf,将下列配置项前面的#和空格都去掉
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
复制代码
anon-access = read代表匿名访问的时候是只读的,若改为anon-access = none代表禁止匿名访问,需要帐号密码才能访问
[users]
mj=123
jj=456
复制代码
帐号是mj,密码是123
我们可以将在passwd里添加的用户分配到不同的用户组里,以后的话,就可以对不同用户组设置不同的权限,没有必要对每个用户进行单独设置权限。
在[groups]下面添加组名和用户名,多个用户之间用逗号(,)隔开
<font color="rgb(0, 0, 0)"><font style="background-color:rgb(254, 254, 242)"><font face="verdana, Arial, Helvetica, sans-serif">[groups]
topgroup=mj,jj</font></font></font>
复制代码
说明mj和jj都是属于topgroup这个组的,接下来再进行权限配置。使用[/]代表svn服务器中的所有资源库[/]
@topgroup=rw
复制代码
上面的配置说明topgroup这个组中的所有用户对所有资源库都有读写(rw)权限,组名前面要用@如果是用户名,不用加@,比如mj这个用户有读写权限[/]
mj=rw
复制代码
至于其他精细的权限控制,可以参考authz文件中的其他内容 4.启动svn服务器前面配置了这么多,最关键还是看能否正常启动服务器,若启动不来,前面做再多工作也是徒劳。在终端输入下列指令:svnserve -d -r /Users/apple/svn或者输入:svnserve -d -r /Users/apple/svn/mycode没有任何提示就说明启动成功了 5.关闭svn服务器如果你想要关闭svn服务器,最有效的办法是打开实用工具里面的“活动监视器” 综合上述,我们就可以轻松搭建svn服务器环境了回到顶部
svn import /Users/apple/Documents/eclipse_workspace/weibo svn://localhost/mycode/weibo --username=mj --password=123 -m "初始化导入"
复制代码
我解释下指令的意思:将/Users/apple/Documents/eclipse_workspace/weibo中的所有内容,上传到服务器mycode仓库的weibo目录下,后面双引号中的"初始化导入"是注释 2.从服务器端下载代码到客户端本地在终端中输入svn checkout svn://localhost/mycode --username=mj --password=123 /Users/apple/Documents/code我解释下指令的意思:将服务器中mycode仓库的内容下载到/Users/apple/Documents/code目录中 3.提交更改过的代码到服务器在步骤2中已经将服务器端的代码都下载到/Users/apple/Documents/code目录中,现在修改下里面的一些代码,然后提交这些修改到服务器1> 打开终端,先定位到/Users/apple/Documents/code目录,输入:cd /Users/apple/Documents/code2> 输入提交指令:svn commit -m "修改了main.m文件"这个指令会将/Users/apple/Documents/code下的所有修改都同步到服务器端,假如这次我只修改了main.文件可以看到终端的打印信息:Sending weibo/weibo/main.m
Transmitting file data .
Committed revision 2.
复制代码
4.更新服务器端的代码到客户端这个应该是最简单的指令了,在终端中定位到客户端代码目录后,比如上面的/Users/apple/Documents/code目录,然后再输入指令:svn update 5.至于svn的其他用法,可以在终端输入:svn help4、如何在苹果系统下搭建SVN服务器
使用SubVersion服务器,般使用乌龟,客户端使用xcode自带subversion.配服务端,直接使用checkout,使用.
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.打svnserve.conf列配置项前面#空格都掉
[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
说明mjjj都属于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服务器环境
5、如何在苹果电脑上安装svn 服务器
方法/步骤
打开终端,创建一个代码仓库,用svnadmin create创建.
进入svndir文件夹可以看到专
conf文件夹是配置文属件夹,里面有相关配置,先选择svnserve.conf配置。
# anon-access = read
# auth-access = write
# password-db = passwd
# authz-db = authz
去掉这几个前面的#和空格,
anon-access 表示匿名访问权限
创建个帐户,要进passwd文件配置,在[users]后面加zyx=123456,表示创建了zyx帐户,密码是123456.
文件authz可以配置用户组及权限,可以把passwd里添加的用户加到一个用户组里或创建一个用户组,这样就可以对整个组设置权限了,还不用对每个用户进行单独权限设置。这里加了个zyxgroup组,包括用户zyx,权限是对根目录有读写权限,[/]表示根目录。
6
接下来是启动svn服务器,如果,没有提示就表示成功了。
7
关闭svn服务器的话,可以用ps找到它的pid,然后kill它就可以了。
6、mac怎么配置svn服务器地址
第步启终端命令:
svnadmin create /Users/Johnny/Repository
第二步配置代码仓库终端继续命令:
cd /Users/Johnny/Repository/conf
首先修改svnserve.conf文件要#password-db = passwd句#掉使配置项回效即保存退
接着修答改passwd文件面存着代码库接受用户名密码采用形式[用户名]=[密码]增加用户user密码pass
user=pass保存退
第三步启服务器终端继续命令:
svnserve -d -r /Users/Johnny/Repository
没任何提示说明启功
停止:killall -9 svnserve
7、mac上怎么装svn?
使用SubVersion服务器,般使用乌龟,客户端使用xcode自带subversion.配服务端,直接使用checkout,使用.
Windows环境我般使用TortoiseSVN搭建环境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.打svnserve.conf列配置项前面#空格都掉
[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
说明mjjj都属于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服务器环境
8、mac 怎么连接配置好了的svn服务器
svnserve -d -r /path/svn 特别注意,路径一定是SVN的目录,不是其中一个版本库的目录,不然,能正常启动,就是访问有问题
没有任何输出,则启动成功!
9、Mac svn 无法连接到公司的svn服务器,如何解决!?
SVN 服务器 IP 地址来修改后,客户端对服务源器的连接可以采用以下的方法重定位:
1. 如果客户端工具是TortoiseSVN,直接在工作副本上右键,选择TortoiseSVN->relocation,再输入新的URL。
2. 如果客户端工具是 eclipse 的插件 subclipse,切换到“SVN资源库”的透视图,再在资源库路径上右键 –> 重新定位…,输入新的 URL。