svn服务端使用教程(svn服务端)-pg电子平台

现在一般的开发都是协同开发,所以会用到版本控制系统。说白了就是大家一起开发一个项目,分别写不同的代码,然后需要把代码放在一起。大家可能都需要对方的代码,就是大家一起写一套代码。就是需要版本控制系统,把大家写的代码存放在一个地方,相当于一个备份服务器!

目前主流的版本控制系统是git和svn,git似乎更受欢迎。当然,许多公司使用svn。我目前经历的几家公司都在使用svn,所以本文将详细介绍你在工作中需要了解和经常使用的svn的那些技巧和用法!

首先看看啥是svn

以下是百度百科的解释:

svn是subversion的缩写,是一个开源的版本控制系统。通过采用分支管理系统的高效管理,简而言之就是多人使用,共同开发同一个项目,实现资源共享,最终实现集中管理。

如果还是不太了解,建议百度一下。例如,你可以像这样搜索“svn是什么”。建议看看百度百科和维基百科等。,哪些更详细!

要用它就得安装它

先说windows上的安装。简单地说,如果我们想使用svn,我们需要安装一个客户端。例如,如果你想听音乐,你需要在电脑上安装一个音乐软件。当然你可以选择安装qq音乐或者网易云音乐!

那么svn也有一个版本可供选择。在windows上是小乌龟,是这个客户端的别名。人们称之为“乌龟”。因为乌龟的意思是乌龟,所以叫小乌龟。看它的图标:

是啊,是不是难以忍受?我们需要下载它:https://tortoisesvn.net/downloads.html.

根据自己的电脑情况,选择安装!

以下是一些需要注意的事项:

就选这个吧。另外,在上面选择安装下载哪个版本后,在弹出的页面左下角选择接受,然后等待下载。如果长时间没有下载,可以手动点击页面第一行的链接。仔细看的话还是能看懂那段英文的,这里就不图了。

如果需要使用命令行,可以选择:

然后一直到下一个!然后,安装完成后,你可以在你的电脑上找到一个文件夹,然后右击它。这表明安装是成功的:

然后你也可以再次操作它:

这也意味着是可以的!另一方面,这个装置是全英文的。其实可以安装中文简体。但是,我认为用英语更好。真的,可以用英文代替中文。我们是高级程序员!

安装之后,搞起,看看怎么使用

以上准备工作现在都做好了。让我们来看看如何使用它们!

svn是个中心化的东西

有什么意义?也就是说,svn有一个服务中心,一般代码都在这个服务中心上,然后其他电脑上的客户端就可以链接到这个中心,这样就可以从中心拿代码提交了。画一张这样的图:

所以,一般来说,如果你使用svn进行协作开发,你会有中央服务代码,你不需要去管它。你只需要在你的电脑上安装svn客户端。上面已经告诉你怎么安装了。

可能有人会好奇,这是什么服务中心?这个服务中心通常是svn服务器,需要搭建。它可以在本地或远程构建。公司一般都是比较偏僻的,大家一起吃一起用。这个大家都感兴趣,我可以再写一篇文章教大家怎么搭建svn服务器!

开始拉取代码吧(第一个重点)

一切都准备好了,您的本地svn客户端也安装好了。这个时候会有人给你一个svn服务器的项目地址。比如以我本地svn服务器的地址为例,展示给你看。看起来是这样的:

比如你想在这里参与simpleja项目的开发,这个时候会给你一个地址:

https://laptop-go 8995 ud:8443/svn/svn demo-ithuangqing/simple ja

然后,还会为您分配一个用户名和密码:

用户名:用户1密码:用户1

拿到这些之后,就可以拉代码了。首先,想想你要把拉出来的代码放在哪里,比如桌面。您可以创建一个名为“项目”的新文件夹。

然后打开这个文件夹,然后右键单击这个,单击这个:

点击后,会弹出这个窗口:

这意味着你想连接到svn服务中心,但你不能只是连接。您需要用户名和密码。这是给你的。让我们填写它。注意这里的左下角。你记得密码吗:

所以拉是成功的,但是看看拉下来的代码。我们服务中心的这个项目叫做simpleja。其实我也想把这个simpleja拉下来,所以拉下来的都是项目里的文件。我该怎么办?

事实上,你可以这样做:

当我们点击这个选择项目时,我们可以看到我们正在获取这个项目的内容。这时,我们可以去掉这一项的名称,也就是说,这是唯一的办法:

这样可以看到更广阔的一面,然后选择要拉哪个项目,然后ok,拉下来就这样。

权限问题

但这真的可能吗?答案是有时候真的不行。例如,让我们再试一次:

好了,这个没问题,我们来试着看下一个层面:

大喊,我做不到。这是怎么回事?其实很好理解。人家不能说你要看整体代码。你想做什么都可以。你没有足够的力量去看你做的项目,所以这里有许可。看看服务中心的这些:

事实上,这里可以给每个文件夹分配权限。也就是说,如果你参与开发,就会创建一个属于你的账号。但是,您的帐户具有读写权限,其中一些权限您可以查看,而另一些则不能。

所以有时候,拿到账号和地址后,发现有问题,拿不到代码。然后再问许可没给你。有时候,真的不是,我也遇到过。

至于如何设置权限,这是svn服务器的知识,这里就不说了,先说svn服务器的建立。

那你可能要问了。我不知道该怎么办。很简单。您应该在本地创建一个项目文件夹。比如要拉simpleja,先创建一个,然后再拉。都是一样的:

好啦,写写代码,咱也提交吧

以上准备工作完成后,就该写代码了。快点,打开我们取出的代码:

我们看到其中只有一个ja类。来,我们给他修改一下:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1 & # 34);}}好了好了,现在我们开始写代码了,让我们来看看变化:

看,这里有一个红色的感叹号。这是个错误吗?其实不是的。这意味着代码已经更改。毕竟,你已经添加了一个新的代码。接下来,提交您新添加的代码。您可以这样做:

右键单击要提交的文件,然后单击提交,会弹出以下对话框

那就ok了。让我们看看它是不是又变绿了。

增加一个新东西

是的,第一次提交,很有成就感。让我们来看看。假设我们添加了一个新的ja类。来,写一个:

我们在这里创建了一个新的用户类。实际上,在被svn管理后,它会在文件上显示相应的表示。例如,一个普通的ja文件会显示一个绿色的勾号。但是,这个东西有时候也会有问题。例如,这个新添加的文件应该显示一个蓝色的问号。通用徽标如下(对于ja文件)

记住,新添加的文件属于未知文件,我们需要将它添加到我们的版本库中:

添加后被识别。

是蓝色 号,然后我们就可以提交了。

提交步骤与上面类似。

我想删除一个文件,怎么搞

有时候可能需要删除一个文件,比如删除刚创建的用户。我们可以这样做:

这个时候,你删了之后,突然后悔了。为什么?你在键盘上使劲按ctrl z,好像没用。你需要这样做:

记住,点开空空格,但是如果真的要删除,你通过上面的操作删除之后,服务中心的文件还是没有删除,还是需要提交。单击空空格并选择提交:

此时已成功删除!

我怎么提交不上去啊(更新代码)

我们使用svn进行协同开发,也就是说不是只有你一个人在写这些代码,其他人也在写。例如,其他人已经修改了test1,比如这个:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1 & # 34);system . out . println(& # 34;是的,我是ithuangqing & # 34);}}你看,这是另一个人加的新代码。这个时候,再看看你的代码。你的还是这样:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1 & # 34);}}例如,您开始修改以下代码:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1,好好学习,天天向上!");}}然后你也开始提交了,但是你看

我去。我错了。我错了。肿了怎么办?来,先翻译一句英语:

你知道是怎么回事吗?而是服务器上的代码变了。你在这里不是最新的。您需要更新它,所以请更新它:

然后看看更新后的代码:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1,好好学习,天天向上!");system . out . println(& # 34;是的,我是ithuangqing & # 34);}}看看有没有用户ithuangqing添加的代码,然后提交,保证成功!

我去,冲突是咋回事

协同开发肯定会遇到的一个问题就是冲突。一般来说,你和别人在同一个位置修改代码。让我们举个例子:

首先,有人修改了这行代码:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1,好好学习,天天向上!——不学,你不会学,哈哈& # 34;);system . out . println(& # 34;是的,我是ithuangqing & # 34);}}然后你也修改了这行代码:

public class test1 { publicstaticvoidmain(string[]args){ system . out . println(& # 34;欢迎学习svn!");system . out . println(& # 34;大家好,我是user1,好好学习,天天向上!真的很难& # 34;);system . out . println(& # 34;是的,我是ithuangqing & # 34);}}这里需要划一下,就是上面的人修改了这段代码,提交了。你没有先更新,而是直接在这里修改了代码,然后开始提交发现了这个错误:

这个问题之前提过,更新一下。结果是:

有冲突。其实很好理解。你们俩修改这段代码。别人的代码已经提交了,你更新了,相当于把这行代码从服务器上拉下来,然后发现你也修改了。然后就结束了。谁修改的对?我应该离开哪一个?

这时候就要解决冲突了。此时,您可以再次读取该文件:

这些是什么鬼东西?这是因为存在冲突,你需要解决它。怎么解决呢?让我们打开源文件看一看:

这时候你就需要处理留下哪个代码了。这需要和其他人讨论,看看哪里出了问题。让我们来看看在最后的决定6中留下哪些代码。例如,如果你自己的修改最终是正确的,那么删除这些:

然后是这样的:

然后你可以阅读这些文件:

还没解决冲突吗?是的,你说了,但是你没有告诉svn。你必须告诉svn冲突已经解决。它是这样工作的:

然后是这个:

只需点击“确定”即可彻底解决冲突:

冲突解决后,您可以正常提交您的更改!(之前提交不成功,需要更新。更新遇到冲突。解决冲突后再提交就好了。)

查看日志

这个日志的事情在以后的开发中一定要注意。在这个svn中,我们还可以查看日志。例如,我们可以查看该类的日志:

在这里,您可以看到自己和他人对此文档所做的一些修改。

版本回滚需要重视

这个功能也用的很多,但是刚开始我们会觉得有点迷茫。比如我们在写代码的时候,后来发现自己的代码有问题,结果已经提交了。如果其他人拉我们的代码,一定会出错。怎么才能做到呢?这时候我们可以用版本回滚来看看怎么操作。

例如,现在我们需要写一个这样的函数:

然后我们也提交了,我们后悔了。我们能回到过去吗?如果有人更新代码,就会更新到我的错误码。看看这个:

然后人家更新了,是这样的:

打我的脸,我不能。我必须杀死我自己的错误代码。怎么了?这就是版本回滚。手表:

然后选择需要回滚的版本:

然后看,其实之前的错误码已经没有了。

注意注意注意!

当你写错代码提交后,别人会更新到你的代码,但这个时候,可能只有你一个人知道这个代码有问题,你想重写。就像上面说的,你回滚版本,之前的错误码都没了,可以重写了。但是,别人现在更新,还是会得到你之前的错误码。

所以这个时候你需要在svn服务器上提交并恢复提交的错误码到原来的版本。回滚后记得提交!

如果回滚后不提交,而是继续写正确的代码,那就是另外一种情况了(不提交就不会真的回滚,但是本地服务器不会)。此时,当你写完正确的代码并提交后,会提示你更新。一旦更新,就会有冲突,和你之前的错误码冲突。这时候你需要解决冲突,留下正确的代码,然后提交。

有没有更好的方式

上面这种回滚造成的错误就是使用这种回滚:

实测中,回滚后写了一个新代码没有提交,然后提交时会提示更新,更新会冲突。但是,如果您以这种方式回滚:

回滚后,立即写入新的正确代码,而不提交。提交提交还是可以重新完成的,不会像上面那样提示更新,然后更新会冲突!

至于为什么会出现这种情况,我们有深入的研究,以后有需要会继续分享!

总结

至于svn的使用,对于一个刚入职,第一次使用svn的朋友来说已经足够了。主要是了解一些运营概念,然后掌握更新和提交。通常,您应该在编写代码之前更新代码,以避免冲突。更何况,实际使用中遇到新问题,赶紧查资料或者找别人解决,快速积累经验!

谢谢你的精彩阅读

来源:微信官方账号|码外

推荐:我为google和facebook的面试准备了六个月。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文链接:https://www.andon8.com/288785.html

网站地图