请问SVN可不可以在互联网上连接?如果可以连接,需要操作些什么呢,详细说下?谢谢啦~

请问SVN可不可以在互联网上连接?如果可以连接,需要操作些什么呢,详细说下?谢谢啦~,第1张

春风沐浴的回答是一个办法,就是把整个库上传到网上免费的SVN空间服务上

如果要自己架设服务器的话,我自己架设过,具体思路是将SVN服务器先架设在局域网上,然后通过路由器的映射将其端口开放给互联网访问。为了解决ADSL线路每次重新连接时随机分配IP地址的问题,我们还需要申请一个免费域名。

下面是我的架设方法,首先你需要具备这些条件:

1、路由器1台,应有端口映射(转发规则-虚拟服务器)功能,最好有内置的花生壳动态DNS功能(否则就需要另外安装花生壳软件)。

2、SVN服务器一台

3、ADSL或其他通往互联网的网络线路

然后需要做以下事情:

1、架设好SVN服务器,保证内网访问畅通。

2、申请免费域名

登录花生壳网站(wwworaynet),免费注册用户,可得到一个免费域名,如“abcdegicpnet”此域名可长期使用;

3、登录路由器管理页面

通常是访问地址http://19216811,用户名和密码根据设定输入,各型号路由器的访问方式可能略有不同,可参考说明书进行操作。

4、设置动态域名

如果路由器内置了花生壳动态DNS功能,则可通过路由器直接设置。以TL-WR340G 54M型号的无线路由器为例,在“动态DNS”页面,选择服务提供者为花生壳,输入在花生壳注册的用户名和密码,然后点击登录。

如果路由器没有内置的花生壳动态DNS功能,则需要在花生壳网站下载花生壳客户端软件,安装(可不必安装附带的“向日葵”组件)后使用前面申请的花生壳帐户名和密码进行登录,登录后即可使用免费域名。

5、设置端口映射

仍以TL-WR340G 54M型号的无线路由器为例,在“转发规则-虚拟服务器”页面点击“添加新条目”,在新条目的页面中,设置端口号为项目组SVN服务器的访问端口号,设置IP地址为该路由器分配给项目组SVN服务器的内网IP地址,状态为“生效”,然后保存。

然后你就可以在互联网上通过你申请的免费域名(如“abcdegicpnet”)代替IP地址来访问SVN服务器了。

在此目录genuitec

->

myeclipse-86

->

dropins

->

svnlink

新建这个

link文件,名随便起

里面的内容

path=c:\\program

files\\genuitec\\myeclipse-86\\myplugins\\svn

svn是你插件的目录

第一次使用SVN版本管理工具,但两天时间都没有连接上(客户端无法连接服务器)。 软件:VisualSVN-Server-162msi 、 TortoiseSVN-181126392-win32-svn-1813msi, VisualSVN-Server-162msi 装在一台电脑上,TortoiseSVN-181126392-win32-svn-1展开

服务器:

VisualSVN-Server 安装好后,按照网上所说的,建立版本库,添加用户密码,然后在本地的浏览器地址栏上输入URL地址,服务器址是:https://1921681177/svn/ ,回车后提示:证书错误,该网址已阻止。在网上找了相应资料后,安装证书,可以每次都弹出:证书错误,该网址已阻止。点击继续访问网址,会弹出输入用户名与密码对话框,输入后,能访问版本库。在网上找了相关资料后,安装证书,可以每次还是弹出:证书错误,该网址已阻止,点击继续访问,仍是可以进入的。

客户端:

TortoiseSVN安装后,右键点击一个VS2008项目,通过TortoiseSVN的“Imports……”功能,然后输入服务器地址:https://1921681177/svn/,点击OK,显示以下错误信息:

TortoiseSVN 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录。文件保存在中央版本库,除了能记住文件和目录的每次修改以外,版本库非常像普通的文件服务器。你可以将文件恢复到过去的版本,并且可以通过检查历史知道数据做了哪些修改,谁做的修改。这就是为什么许多人将 Subversion 和版本控制系统看作一种“时间机器”。

版本控制是管理信息修改的艺术,它一直是程序员最重要的工具,程序员经常会花时间作出小的修改,然后又在某一天取消了这些修改,想象一下一个开发者并行工作的团队 - 或许是同时工作在同一个文件!- 你就会明白为什么一个好的系统需要管理潜在的混乱。

某些版本控制系统也是软件配置管理(SCM)系统,这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性 - 比如,对编程语言的支持,或者提供程序构建工具。不过 Subversion 并不是这样的系统;它是一个通用系统,可以管理任何类型的文件集,包括源代码。

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://19216811/pro/domain

2、往版本库中添加新的文件

svn add file

例如:svn add testphp(添加testphp)

3、删除文件

svn delete path -m “delete test fle“

例如:svn delete svn://19216811/pro/domain/testphp -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固有的问题,即projectpbxproj文件的提交冲突问题。

projectpbxproj文件里面包含了构建过程所需的所有文件,如果你在项目目录下增加了新文件,比如没有通过Xcode,该文件就不在projectpbxproj文件中,就不会生成到app中。同理,如果你从SVN中更新到其他项目成员增加的文件,而没有更新projectpbxproj文件(或者该成员根本就没有提交这个文件),则也会出现相同的现象。

如果项目成员提交了新的projectpbxproj文件,你这边没有在项目中增加新的文件,直接svn update就可以了。

7、Xcode中更新代码后项目文件打不开

若选择更新整个项目经常会出现冲突问题,尤其是projectpbxproj文件。此文件包含了构建过程所需的所有文件,如果在项目目录下增加了新文件,但没有通过Xcode,

该文件就不在projectpbxproj文件中,就不会生成到app中。同理,如果从SVN中更新到其他项目成员增加的文件,

而没有更新projectpbxproj文件(或者该成员根本就没有提交这个文件),则也会出现相同的现象。这一文件冲突将直接导致项目文件打不开。

解决更新代码后打不开项目文件方法:

当项目文件如tobaccoxcodeproj打不开时可以右键选择'显示包内容',会看到有三个文件,projectpbxproj/usermodelv3/userpbxuser。

其中projectpbxproj有三个版本,和解决普通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)

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 请问SVN可不可以在互联网上连接?如果可以连接,需要操作些什么呢,详细说下?谢谢啦~

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情