公司新人svn使用教程

时间:2024-10-16 00:24:05编辑:小星

centos6.8怎么安装svn

1.Centos6.8下搭建SVN服务器
Subversion是一个自由,开源的版本控制系统。Subversion将文件存放在中心版本库里。这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和目录的修改情况。这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节。Subversion是Apache基金会下的一个项目,官网 https://subversion.apache.org/ 。

2.安装
yum -y install subversion

3.创建SVN版本库
mkdir -p /opt/svn/repos/svn1 ##创建目录
svnadmin create /opt/svn/repos/svn1 ##创建SVN版本库

4.配置版本库
cd /opt/svn/repos/svn1/conf 并且 vim passwd(添加用户):


[users]
# harry = harryssecret
# sally = sallyssecret
#
user1 = 123
user2 = 123

vim authz(添加权限):
[svn1:/]
user1 = rw
user2 = rw
#svn1是具体版本库的标签
vim svnserve.conf(取消一些注释):
[general]
anon-access = none #非授权用户无法访问
auth-access = write #授权用户有写权限
password-db = passwd #密码数据所在目录
authz-db = authz

5.启动SVN
svnserve -d -r /opt/svn/repos/ #注意目录,不包含svn1

ps aux | grep svnserve #查看服务是否启动

6.测试SVN的服务器
svn://192.168.1.1/svn1

7.如果想创建多个版本库

mkdir -p /opt/svn/repos/svn2 ##创建目录
svnadmin create /opt/svn/repos/svn2

重复步骤4的配置方法

killall svnserve #关闭svn服务svnserve -d -r /opt/svn/repos/            #启动svn,注意目录,不包含svn2


8.删除版本库
rm -rf svn2/

9.同个svn库下根据不同的权限访问不同的目录

[groups]
chanpin = user1,user2
yanfa = user3,user4
[svn1:/]
test = rw
other = rw
anyone = rw
@chanpin = rw
@yanfa = rw
[svn1:/chanpin]
other = rw
@chanpin = rw
* =
[svn1:/yanfa]
anyone = rw
@yanfa = rw
* =


Linux centos下安装svn服务器就这么难么

Centos下安装SVN服务器详细步骤 在保证联网的条件下,执行以下一、二操作,否则请先下载apache、svn的安装包并解压缩1.安装apache yum install httpd2.安装svn yum install subversion yum install mod_dav_svn3.创建SVN仓库 mkdir /home/svn4.在SVN仓库目录下创建你要的版本库 svnadmin create /home/svn/xyz (版本库名:xyz)5.创建用户及密码 在/home/svn/xyz/conf目录下,输入:htpasswd -c passwd xiao 第一次在创建用户密码,需加上“- c”参数6.设置权限 编辑authz文件,设置组别人员读写权限7.修改svnserver.conf8.启动SVN服务 svnserve -d --listen-port 3690 -r /home/svn/xyz9.防火墙打开3690端口 进入/etc/sysconfig,修改iptables文件 加入如下: -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT10.修改apache,目的是保证http能够访问 修改/etc/httpd/conf.d/subversion.conf文件 加入如下: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so DAV svn SVNParentPath /home/svn/xyzAuthType Basic AuthName "Authorization Realm" AuthUserFile /home/svn/xyz/conf/passwd AuthzSVNAccessFile /home/svn/xyz/conf/authz Require valid-user 11.配置SVN下目录被apache拥有 chown –R apache:apache/home/svn/xyz12.设置apache开机启动 chkconfig httpd on13.设置svn开机启动 (1)编写/usr/local/customshell/svn.sh,内容为svnserve –d --listen-port 3690 –r / home/svn/xyz (2). vim /etc/rc.d/rc.local 增加一句:/usr/local/customshell/svn.sh

如何在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
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).


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

新手建议使用Cornerstone-一款可视化SVN管理工具。百度Cornerstone for mac破解版 下载 或者单击http://www.pc6.com/mac/111958.html使用步骤如下:连接svn服务器左下角打码处会出现刚才连接的服务器,单击浏览服务器上的文件下载服务器工程并在本地创建工作空间然后即可 进行上传下载更新等操作新手使用svn要注意:每次提交以前 先更新一下服务器上得版本修改工程之前先和团队成员沟通如有问题可通过resolve按钮解决冲突

上一篇:查商标

下一篇:没有了