导航:首页 > 程序命令 > svn命令登录

svn命令登录

发布时间:2024-08-15 05:08:00

1. 如何用命令行创建一个svn用户

在dos下的命令不太清楚,
只知道在conf文件夹中passwd文件中添加用户就可以了,格式:
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin

2. 如何搭建本地SVN服务

搭建svn服务的方法步骤问题,主要有七个部分 。下面是具体的步骤介绍。

一、准备工作

1、获取S version服务器程序

到官方网站(htt p:/ /s version.tigris.org/)下载最新的服务器安装程序。目前最新的是1.5版本,具体下载地址 在:htt p:/ /s version.tigris.org/servlets /ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91

2、获取TortoiseSVN客户端程序
从官方网站htt p:/ /tortoisesvn.n et/downloads获取最新的TortoiseSVN。TortoiseSVN是一个客户端程 序,用来与s vers服务器端通讯。S version自带一个客户端程序svn.exe,但TortoiseSVN更好操作,提高效率。

二、安装服务器端和客户端

搭建svn服务第二步要安装服务器端和客户端。安装S version(以下简称SVN)的服务器端和客户端。下载下来的服务器端是个zip压缩包,直 接解压缩即可,比如我解压到E:\s version。客户端安装文件是个exe可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。

三、建立版本库(Repository)

运行S version服务器需要首先要建立一个版本库(Repository)。版本库可以看作是服务器上集中存放和管理数据的地方。开始建立版本 库。首先建立e:\svn空文件夹作为所有版本库的根目录。然后,进入命令行并切换到s version的bin目录。输入如下命 令:svnadmincreateE:\svn\repos1此命令在E:\svn下建立一个版本库repos1。repos1下面会自动生成一些文件夹 和文件。我们也可以使用TortoiseSVN图形化的完成这一步:先建立空目录E:\svn\repos1,注意一定是要空的。然后在repos1文件 夹上“右键->TortoiseSVN->CreateRepositoryhere...”,然后可以选择版本库模式,这里使用默认的 FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。

四、运行独立服务器

搭建svn服务过程中要运行独立服务器。 此时s version服务还没有开始,只是通过它的命令建立了 版本库。继续在刚才的命令窗口输入:svnserve.exe--daemon

svnserve将会在端口3690等待请求,--daemon(两个短横线)选项告诉svnserve以守护进程方式运行,这样在手动终止之前不会退 出。注意不要关闭命令行窗口,关闭窗口会把svnserve停止。为了验证svnserve正常工作,使用TortoiseSVN->Repo- browser来查看版本库。在弹出的URL对话框中输入:svn://localhost/svn/repos1
点OK按钮后就可以看见repos1版本库的目录树结构了,只不过这时repos1是个空库。你也可以使用--root选项设置根位置来限制服务器的访问 目录,从而增加安全性和节约输入svnserveURL的时间:svnserve.exe--daemon--rootdrive:\path\to \repository以前面的测试作为例,svnserve将会运行为:svnserve.exe--daemon--roote:\svn然后 TortoiseSVN中的版本库浏览器URL缩减为:svn://localhost/repos1

五、配置用户和权限

用文本编辑器打开E:\svn\repos1\conf目录,修改svnserve.conf:将:#password-db=passwd改 为:password-db=passwd

即去掉前面的#注释符,注意前面不能有空格。然后修改同目录的passwd文件,增加一个帐号:将:
[users]
#harry=harryssecret
#sally=sallyssecret
增加帐号:
[users]
#harry=harryssecret
#sally=sallyssecret
test=test

六、初始化导入

下面就是搭建svn服务时将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢 失、改错数据时版本库也能帮我们找回数据。

比如,我在d:\wwwroot下有个gstbook文件夹,里面存放的是我编写的留言簿程序。在此文件夹上“右键 ->TortoiseSVN->Import...”,在弹出对话框的“URLofrepository”输入 “svn://localhost/repos1/gstbook”。在“Importmessage”输入“导入整个留言簿”作为注释。
点OK后要求输入帐号。我们在用户名和密码处都输入test。完成后gstbook中的内容全部导入到了svn://localhost/svn /repos1/gstbook。
我们看到在e:\svn\repos1没有任何变化,连个gstbook文件夹都没有建立,唯一的变化就是e:\svn\repos1容量变大了。实 际上我们源gstbook中的内容已经导入repos1版本库了,源gstbook文件夹可以删除了。需要注意的是,这一步操作可以完全在另一台 安装了TortoiseSVN的客户机上进行。例如运行svnserve的主机的IP是133.96.121.22,则URL部分输入的内容就是 “svn://133.96.121.22”。

七、基本操作流程

1、取出(checkout)

取出版本库到一个工作拷贝:
来到任意空目录下,比如在f分区建立一个空文件夹f:\work。“右键->SVNCheckout”。在“URLofrepository”中输 入“svn://localhost/svn/repos1/gstbook”,这样我们就得到了一份gstbook中内容的工作拷贝。
2、存入(checkin)/提交(commit)
在工作拷贝中作出修改并提交:
在gstbook工作拷贝中随便打开一个文件,作出修改,然后“右键->SVNCommit...”。这样我们就把修改提交到了版本库,版本库 根据情况存储我们提交的数据。
在修改过的文件上“右键->TortoiseSVN->ShowLog”,可以看到对这个文件所有的提交。在不同的revision条目上 “右键->Comparewithworking”,我们可以比较工作拷贝的文件和所选revision版本的区别。本节介绍搭建SVN服 务完毕,请关注本节其他相关报道。

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

搭建好svn后创建svn版本

1、创建一个空文件夹,右键->TortoiseSVN->CreateRepositoryhere,然后该文件夹会自动生成一些文件出来

2、用文本编辑器打开E:\svn\repos1\conf目录,修改svnserve.conf:将:#password-db=passwd改 为:password-db=passwd
即去掉前面的#注释符

3、修改同目录的passwd文件,增加一个帐号

增加帐号:
[users]
#harry=harryssecret
#sally=sallyssecret
amylv=amylv
4、初始化导入 比如在d:\wwwroot下有个gstbook文件夹,在此文件夹上“右键 ->TortoiseSVN->Import...”,

输入你的用户名跟密码

到此ok了

附:svn服务器端只能装在c盘下 svnserve.exe --daemon 这个命令才能使用,版本库也必须放在c盘下svn://localhost 对应的是c盘直接目录

如果你创建的文件夹目录为 c:/svnlib/weibo。那么import的地址为svn://localhost/svnlib/weibo

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安装了两次终于明白应该注意什么了,总结一个最简单的说明,节省大家时间

1、获取svn程序

2、安装 S version(以下简称SVN)的服务器端和客户端。下载下来的服务器端是个 zip压缩包,直接解压缩即可,比如我解压到 E:\s version 。客户端安装文件是个 exe 可执行文件,直接运行按提示安装即可,客户端安装完成后提示重启。

3、先建立空目录 E:\svn\repos1 ,注意一定是要空的。然后在 repos1 文件夹上“右键->TortoiseSVN->Create Repository here...”,然后可以选择版本库模式,这里使用默认的FSFS即可,然后就创建了一系列文件夹和文件,同命令行建立的一样。
(这一步注意svn服务端要和库目录在同一个盘符下面,否则提示找不到目录)

4、进入命令行并切换到s version的bin目录。输入如下命令:

svnserve.exe --daemon

svnserve 将会在端口 3690 等待请求,--daemon(两个短横线)选项告诉 svnserve 以守护进程方式运行,这样在手动终止之前不会退出。注意不要关闭命令行窗口,关闭窗口会把 svnserve 停止

5、配置用户和权限
用文本编辑器打开E:\svn\repos1\conf目录,修改svnserve.conf:
将:
# password-db = passwd
改为:
password-db = passwd

即去掉前面的 # 注释符,注意前面不能有空格。
然后修改同目录的passwd文件,增加一个帐号:

将:
[users]
# harry = harryssecret
# sally = sallyssecret

增加帐号:
[users]
#harry = harryssecret
#sally = sallyssecret
test = test

6、初始化导入

(在做这一步之前一定要执行第5步)
下面就是将我们的数据(项目)导入到这个版本库,以后就由版本库管理我们的数据。我们的任何改动都回被版本库记录下来,甚至我们自己丢失、改错数据时版本库也能帮我们找回数据。
比如,我在 d:\wwwroot 下有个 gstbook 文件夹,里面存放的是我编写的留言簿程序。在此文件夹上“右键 -> TortoiseSVN -> Import...” ,在弹出对话框的“URL of repository”输入“svn://localhost/repos1/gstbook”。在“Import message”输入“导入整个留言簿”作为注释。
点 OK 后要求输入帐号。我们在用户名和密码处都输入 test 。完成后 gstbook 中的内容全部导入到了 svn://localhost/svn/repo1/gstbook 。
我们看到在 e:\svn\repo1 没有任何变化,连个 gstbook 文件夹都没有建立,唯一的变化就是e:\svn\repo1容量变大了。实际上我们源gstbook中的内容已经导入 repo1 版本库了,源 gstbook 文件夹可以删除了。

7、svn配置结束,这是最简单的步骤,已经可以用了,然后把svn整合到系统服务,以后就不用一直开着命令窗口了。把以下内容粘贴到文本文件,然后重命名文件为:*.bat执行就好了,
sc create svnserver binpath= "C:\Program Files\S version\bin\svnserve.exe --service --root F:\svn" displayname= "svnserver" depend= tcpip start= auto obj= "NT AUTHORITY\NetworkService"
其中C:\Program Files\S version\bin\svnserve.exe 为svn的路径
F:\svn 为版本库的目录
displayname= "svnserver" 为设置服务的名字
--root 是设置根目录 比如:原来你访问为:svn://localhost/svn
设置--root F:\svn之后缩写为svn://localhost 这个一定要注意,否则Error: URL 'svn://localhost/svn'doesn't exist

8、svn能用了,下面是原始资料,稍微整理了一下,如果以上内容不能满足,参考以下内容,希望没有浪费宝贵时间。

3. svn 详解

1、检出

svncohttp://路径(目录或文件的全路径)[本地目录全路径]

--username 用户名 --password 密码svncosvn://路径(目录或文件的全路径)[本地目录全路径]--username 用户名 --password 密码

svncheckouthttp://路径(目录或文件的全路径)[本地目录全路径] --username用户名

svncheckoutsvn://路径(目录或文件的全路径)[本地目录全路径]--username用户名

注:如果不带--password 参数传输密码的话,会提示输入密码,建议不要用明文的--password 选项。

其中 username 与 password前是两个短线,不是一个。

不指定本地目录全路径,则检出到当前目录下。

例子:

svn co svn://localhost/测试工具/home/testtools--usernamewzhnsc

svn co http://localhost/test/testapp--usernamewzhnsc

svn checkout svn://localhost/测试工具/home/testtools--usernamewzhnsc

svncheckouthttp://localhost/test/testapp--usernamewzhnsc

2 、 导出(导出一个干净的不带.svn文件夹的目录树 )

svnexport[-r 版本号]http://路径(目录或文件的全路径) [本地目录全路径]--username用户名

svnexport[-r 版本号]svn://路径(目录或文件的全路径) [本地目录全路径]--username用户名

svnexport本地检出的(即带有.svn文件夹的)目录全路径要导出的本地目录全路径

注:第一种从版本库导出干净工作目录树的形式是指定URL,

如果指定了修订版本号,会导出相应的版本,

如果没有指定修订版本,则会导出最新的,导出到指定位置。

如果省略本地目录全路径,URL的最后一部分会作为本地目录的名字。

第二种形式是指定 本地检出的目录全路径 到 要导出的本地目录全路径,所有的本地修改将会保留,

但是不在版本控制下(即没提交的新文件,因为.svn文件夹里没有与之相关的信息记录)的文件不会拷贝。

例子:

svn export svn://localhost/测试工具/home/testtools--usernamewzhnsc

svn export svn://localhost/test/testapp--usernamewzhnsc

svn export /home/testapp/home/testtools

3、添加新文件

svnadd文件名

注:告诉SVN服务器要添加文件了,还要用svn commint -m真实的上传上去!

例子:

svn addtest.php<-添加test.php

svn commit -m“添加我的测试用test.php“ test.php

svn add*.php<-添加当前目录下所有的php文件

svn commit -m“添加我的测试用全部php文件“ *.php

4、提交

svncommit-m“提交备注信息文本“[-N][--no-unlock]文件名

svnci-m“提交备注信息文本“[-N][--no-unlock]文件名

必须带上-m参数,参数可以为空,但是必须写上-m

例子:

svn commit -m“提交当前目录下的全部在版本控制下的文件“ *<-注意这个*表示全部文件

svn commit -m“提交我的测试用test.php“ test.php

svn commit -m“提交我的测试用test.php“-N --no-unlocktest.php<-保持锁就用–no-unlock开关

svn ci -m“提交当前目录下的全部在版本控制下的文件“ *<-注意这个*表示全部文件

svn ci -m“提交我的测试用test.php“ test.php

svn ci -m“提交我的测试用test.php“-N --no-unlocktest.php<-保持锁就用–no-unlock开关

5、更新文件

svnupdate

svnupdate-r修正版本文件名

svnupdate文件名

例子:

svn update<- 后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本

svn update -r200 test.cpp<-将版本库中的文件 test.cpp 还原到修正版本(revision)200

svn updatetest.php<-更新与版本库同步。

提交的时候提示过期冲突,需要先 update 修改文件,

然后清除svn resolved,最后再提交commit。

6、删除文件

svndeletesvn://路径(目录或文件的全路径) -m “删除备注信息文本”

推荐如下操作:

svndelete文件名

svnci-m“删除备注信息文本”

例子:

svn delete svn://localhost/testapp/test.php-m“删除测试文件test.php”

推荐如下操作:

svn deletetest.php

svn ci -m“删除测试文件test.php”

7、加锁/解锁

svnlock-m“加锁备注信息文本“[--force]文件名

svnunlock文件名

例子:

svn lock -m“锁信测试用test.php文件“ test.php

svn unlocktest.php

8、比较差异

svndiff文件名

svndiff-r修正版本号m:修正版本号n文件名

例子:

svn difftest.php<-将修改的文件与基础版本比较

svn diff -r200:201 test.php<-对 修正版本号200 和 修正版本号201 比较差异

9、查看文件或者目录状态

svn st目录路径/名

svn status 目录路径/名<-目录下的文件和子目录的状态,正常状态不显示

【?:不在svn的控制中;M:内容被修改;C:发生冲突;

A:预定加入到版本库;K:被锁定】

svn-v 目录路径/名

svn status -v 目录路径/名<-显示文件和子目录状态

【第一列保持相同,第二列显示工作版本号,

第三和第四列显示最后一次修改的版本号和修改人】

注:svn status、svn diff和 svn revert这三条命令在没有网络的情况下也可以执行的,

原因是svn在本地的.svn中保留了本地版本的原始拷贝。

10、查看日志

svnlog文件名

例子:

svn logtest.php<-显示这个文件的所有修改记录,及其版本号的变化

11、查看文件详细信息

svninfo文件名

例子:

svn infotest.php

12、SVN 帮助

svnhelp<-全部功能选项

svnhelpci<- 具体功能的说明

13、查看版本库下的文件和目录列表

svnlistsvn://路径(目录或文件的全路径)

svnlssvn://路径(目录或文件的全路径)

例子:

svn list svn://localhost/test

svn ls svn://localhost/test<-显示svn://localhost/test目录下的所有属于版本库的文件和目录

14、创建纳入版本控制下的新目录

svnmkdir目录名

svnmkdir-m"新增目录备注文本"http://目录全路径

例子:

svn mkdirnewdir

svn mkdir -m"Making a new dir."svn://localhost/test/newdir

注:添加完子目录后,一定要回到根目录更新一下,不然在该目录下提交文件会提示“提交失败”

svn update

注:如果手工在checkout出来的目录里创建了一个新文件夹newsubdir,

再用svn mkdirnewsubdir命令后,SVN会提示:

svn: 尝试用 “svn add”或 “svn add --non-recursive”代替?

svn: 无法创建目录“hello”: 文件已经存在

此时,用如下命令解决:

svn add --non-recursivenewsubdir

在进入这个newsubdir文件夹,用ls -a查看它下面的全部目录与文件,会发现多了:.svn目录

再用 svn mkdir -m "添hello功能模块文件" svn://localhost/test/newdir/newsubdir 命令,

SVN提示:

svn: File already exists: filesystem '/data/svnroot/test/db', transaction '4541-1',

path '/newdir/newsubdir '

15、恢复本地修改

svnrevert[--recursive]文件名

注意: 本子命令不会存取网络,并且会解除冲突的状况。但是它不会恢复被删除的目录。

例子:

svn revertfoo.c<-丢弃对一个文件的修改

svn revert --recursive.<-恢复一整个目录的文件,. 为当前目录

16、把工作拷贝更新到别的URL

svnswitchhttp://目录全路径本地目录全路径

例子:

svn switch http://localhost/test/456 .<- (原为123的分支)当前所在目录分支到localhost/test/456

17、解决冲突

svnresolved[本地目录全路径]

例子:

$ svn update

C foo.c

Updated to revision 31.

如果你在更新时得到冲突,你的工作拷贝会产生三个新的文件:

$ ls

foo.c

foo.c.mine

foo.c.r30

foo.c.r31

当你解决了foo.c的冲突,并且准备提交,运行svn resolved让你的工作拷贝知道你已经完成了所有事情。

你可以仅仅删除冲突的文件并且提交,但是svn resolved除了删除冲突文件,还修正了一些记录在工作拷贝管理区域的记录数据,所以我们推荐你使用这个命令。

18、不checkout而查看输出特定文件或URL的内容

svncathttp://文件全路径

例子:

svn cat http://localhost/test/readme.txt

19、新建一个分支

svn branchA branchB-m "make B branch" // 从branchA拷贝出一个新分支branchB

20、合并内容到分支merge

svn mergebranchA branchB// 把对branchA的修改合并到分支branchB

4. 怎么才能使用svn命令 linux

首先要先下载svn。
输入:sudo apt-get install subversion

接下来就可以使用SVN了。
先检出服务器上的文件。本经验再SAE上搭建了一个wordpress,所以在这里以此为例。
输入:svn checkout 地址

上传新文件。现在本地上把新文件复制到项目文件夹中。
再在项目目录中输入:
svn add 文件名
svn commit -m "备注"

如果要修改代码,可以直接再本地上修改,然后上传。
输入:svn commit -m "备注"

要删除文件则输入:
svn delete 文件名
svn commit -m "备注"

如果是误删了文件
直接 svn up 或者 svn revert -r version
还有更详细的介绍可以看相关的中文文档。

5. 如何svn脚本命令check out自动输入密码

svn login会将密码保存到相应的文件,以后svn co就不需要再输入密码了

如果要以其他ID去checkout,可以使用(svn co --help查看帮助):
svn co --username XXX http://ip/....
使用这个命令后,上面的svn login信息文件会被修改成新的ID/passwd

阅读全文

与svn命令登录相关的资料

热点内容
建立表结构的命令 浏览:579
安卓文件为什么苹果手机打不开 浏览:82
东奥轻4可以在哪个app做题 浏览:163
金融科技加密卡 浏览:835
程序员那么开一共有多少集 浏览:980
面试程序员被问数学问题怎么办 浏览:91
背大学英语的app哪个最好 浏览:719
哪个app买的衣服好 浏览:467
天刀以前玩过的服务器忘了怎么办 浏览:211
单片机基础代码解读 浏览:233
广东青少年编程学习 浏览:509
买男士香水去哪个app 浏览:548
androidsleep函数 浏览:151
android内核代码下载 浏览:665
服务器如何添加墨迹 浏览:747
diglinux安装 浏览:279
虚拟机执行命令 浏览:444
cctv16奥林匹克频道加密播出 浏览:900
c盘微信文件夹隐私 浏览:229
asp压缩mdb 浏览:670