新公司还是使用SVN,一怒之下写了这篇保姆级小白教程
现在一般开发都是协同开发了,所以会用到版本控制系统,说白了就是大家一起开发一个项目,划分写差别的代码,然后需要把代码汇总到一起,大家可能相互需要对方写的代码,就是大家配合去写一套代码,这就是需要版本控制系统,把大家写的代码存放到一个地方,相当于一个备份服务器!主流的版本控制系统,现在来说,就是Git和SVN了,而且Git似乎越发盛行,固然也有许多公司使用SVN,我现在履历的几家公司都是在使用SVN,所以本篇文章就来详细的先容那些你需要会的,在事情中经常用到的SVN技巧与使用!首先看看啥是SVN以下是百度百科的解释:SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过接纳分支治理系统的高效治理,简而言之就是用于多小我私家配合开发同一个项目,实现共享资源,实现最终集中式的治理。如果你还是有点不相识,建议多去百度搜搜,好比你可以这样搜索:“什么是SVN”,建议多看看百度百科和维基百科之类的,上面说的还是比力详细的!要用它就得安装它先来说Windows上的安装,简朴来说说,我们要使用SVN的话就需要安装一个客户端,好比你要听音乐的话就需要安装一个音乐软件在电脑上,固然,你可以选择安装qq音乐或者是云音乐!那么SVN的话也是有版本可以选择的,在Windows上的话就是小乌龟,这是这个客户端的别名,人家叫做“TortoiseSVN”,因为Tortoise是乌龟的意思,所以就叫做小乌龟了,你看看它的图标:可以吧,是不是很可耐,我们要下载它:https://tortoisesvn.net/downloads.html凭据自己的电脑情况,选择安装即可!这里有些需要注意的地方:选择这个就行,另外在上面选择安装下载哪个版本之后,在跳出来的页面记的选择左下角的accept,然后等候下载,如果长时间没有下载可以手动点击页面上面第一行的链接,仔细看,那段英文还是可以看懂的,我这里就不贴图了。如果你需要使用下令行的话,这里可以选择上:然后一路next即可!然后安装之后,你在电脑上随便找一个文件夹右键泛起这个就代表安装乐成:然后你也可以再操作:这也代表是ok的!另外说一点啊,这个安装之后都是英文的,其实可以安装中文简体语言,可是嘞,我以为还是用英文吧,真的,能用英文不要使用中文,咱可是高峻上的法式员啊!安装之后,搞起,看看怎么使用上面都是准备事情,现在搞好了,怎么使用嘞,咱们一起来看看!svn是其中心化的工具啥意义嘞,就是说svn是有一个服务中心的,总的代码就在这个服务中心上,然后其他各个电脑上的客户端可以链接到这其中心,从而可以从中心拿取代码以及提交接码,画个图或许就是这样的:所以啊,一般如果你们是使用svn协同开发的话,你们就会有中心服务代码,这个是你不需要管的,你只需要在你的电脑上安装好svn客户端就行了,上述已经告诉你如何安装了。
可能有些人比力好奇,这个服务中心是啥在哪啊,这个一般就是svn服务器,也是需要搭建的,可以当地搭建,也可以远程搭建,公司一般就是远程大家,大家一起食使用了,这个大家感兴趣,我到时候可以另外写一篇教大家如何搭建svn服务器!开始拉取代码吧(第一个重点)一切准备停当,你的当地上也安装了svn客户端,这个时候啊,就会有小我私家给你svn服务器的一个项目地址,好比以我当地搭建的svn服务器地址为例,给你看看,是这个样子的:好比说,这里要让你到场simplejava项目的开发,这个时候就会给你一个地址:https://LAPTOP-GO8995UD:8443/svn/SVNdemo-ithuangqing/simplejava然后还会给你分配一个用户名和密码:username: user1 password: user1拿到这些之后,你就可以拉取代码了,首先你先想想你要把拉取下来的代码放在那里,好比桌面上,可以新建一个文件夹好比叫做“project”然后打开这个文件夹,接着右键泛起这个,点击这个:点击之后就会弹出这个窗口:这里意思就是你要毗连svn服务中心了,可是也不能随便连啊,需要用户名和密码,这个是给过你的,我们填写上去,注意这里的左下角,是否记着密码:这样就拉取乐成了,可是你看看拉取下来的代码,我们服务中心上这个项目叫做simplejava,其实我也想拉取下来就是这个simplejava,这样拉取下来的都是项目中的文件,怎么办?其实可以这样做:我们点击这个Choose items,可以看到我们要来取得这个项目的内容,这个时候我们可以把这个项目名称去掉,也就是专这样:这样就可以看到更广的一面,然后选择我们要拉取得谁人项目,然后ok,拉去下来就是这样得了权限问题可是这样真的可以吗?谜底是有的时候还真不行以,好比我们再试一次:好,这个没问题,我们再试着看看上一级:吆喝,不行了,这是咋回事,其实也好明白啊,人家总体的代码也不能说你想看就想看啊,让你做啥就做啥得了,不是你做的项目你看的全力都没有,所以啊这里是有权限的,你看看服务中心这些:这里每一个文件夹其实都是可以分配权限的,也就是说,让你到场进来开发,会给你建立一个属于你的账户,可是你的账户是有读写权限的,有些你可以看,而有些你是看不了的。所以,有的时候拿到账户和地址之后,发现泛起问题,拿去不到代码,那就问问是不是权限没给你开,有的时候还真的是权限没开,我就遇到过。
至于如何设置权限啥的,这是svn服务器这块的知识,咱这里先不涉及,等咱聊到svn服务器搭建的时候再说吧!那你可能要问了,我看不到那咋办啊,简朴啊,自己在当地先建立项目文件夹,好比要拉取simplejava,就先建立一个呗,然后再拉取,一样的:好啦,写写代码,咱也提交吧那以上准备事情搞定之后,你就该写代码啦,来来,打开咱拉取的代码:我们看到内里就一个Java类,来来,咱给他修改修改:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1");}}可以吧,ok,现在咱也写代码上去了,接下来看看变化:看看,这里泛起红叹息号,岂非是错误?其实不是的,这里代表代码有改变了,究竟你新增加了代码嘛,接下来就把自己新增加的代码提交上去吧,可以这样操作:右键需要提交的文件,然后点击commit,弹出如下框框然后就ok了,看一下,是不是又变回绿色了。增加一个新工具可以吧,第一次提交,很有成就感,接下来看看,如果说我们新增加了一个Java类嘞,来来,写一个:这里我们建立了一个新的User类,其实吧,被svn治理起来之后,就会在文件上面显示相对应的表现,好比正常的java文件上面显示一个绿色的勾号,可是吧,有的时候这玩意会泛起问题,好比这新增加的一个文件应该在上面显示一个蓝色的问号,大致的标识是这样(对于Java文件来说)要记着了,新增加的一个文件属于未知文件,我们需要把它添加进我们的版本库:添加进来之后就被识别了是一个蓝色的+号,接着我们就可以把它提交了提交步骤和上面的类似我想删除一个文件,怎么搞有的时候可能需要删掉一个文件,就好比把适才建立的User给删除了,我们可以这样做:这个时候你删除之后,突然忏悔了怎么搞?你使劲的按键盘上的Ctrl+Z,似乎没什么卵用,你需要这样操作:记着,是点击空缺处,不外你如果真的想删除的话,当你上述操作删除之后,其实在服务中心上的文件还是没有删除,你还需要举行提交,点击空缺处,选择提交:这个时候就乐成删除啦!我怎么提交不上去啊(更新代码)我们使用svn是举行协同开发,也就是说这些代码并不是只有你自己在写,其他人也在写,好比别人对Test1举行了修改,好比这样:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1");System.out.println("大叫好,我是用户ithuangqing");}}你看,这是另外一小我私家添加的新代码,这时候你再看看你的代码,你的还是这样的:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1");}}好比,你开始修改这个代码:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1,好勤学习天天向上!");}}然后你也开始提交,可是你看我去,报错了报错了,肿么办?来,先翻译一句英文:知道咋回事不,就是服务器上的代码改变了,你这里不是最新的,你需要更新一下,那就更新一下:然后再看看更新下来的代码:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1,好勤学习天天向上!");System.out.println("大叫好,我是用户ithuangqing");}}看,是不是有用户ithuangqing添加的代码了,然后提交吧,这下就保证乐成了的!我去,冲突是咋回事协同开发肯定会遇到的一个问题就是冲突了,一般的话就是你和别人修改了同样位置上的代码,来看个例子:首先别人修改了这行代码:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1,好勤学习天天向上!--别学了,学不会的,哈哈");System.out.println("大叫好,我是用户ithuangqing");}}然后你也修改了这行代码:publicclassTest1{publicstaticvoidmain(String[]args){System.out.println("接待学习svn!");System.out.println("大家好,我是用户user1,好勤学习天天向上!真难啊");System.out.println("大叫好,我是用户ithuangqing");}}这里你需要捋一下,就是上面人家已经修改了这段代码,而且提交上去了,你这里没有先更新,而是直接修改了代码,然后你开始提交,发现这个错误:这个问题之前说过了,那就去更新呗,效果:这就泛起冲突了,其实也好明白,你俩都去修改这段代码,人家的已经提交上去,你去更新,相当于把服务器上的这行代码拉去下来,然后发现你也修改了,那完犊子了,谁修改的是对的呢?应该留下哪个呢?这时候就需要解决冲突了,这个时候你再看文件:这都是啥玩意?这是因为泛起冲突了,需要你解决冲突,怎么解决嘞?我们打开源文件看看:这个时候就需要你处置惩罚,该留下哪段代码,这个是需要和别人商量的,看看是那里出问题了,一起看下最终决议六留下哪段代码,好比最终你自己的修改是对的,那就把这些删除掉:然后就成这样了:然后你再看这些文件:不是已经解决了冲突了吗?是的,你是解决了冲突,可是你没有告诉svn啊,你得给svn说声冲突解决了,这样操作:然后这个:点就ok就彻底解决冲突啦:冲突解决了之后,你就可以正常提交你的修改啦!(之前提交不乐成,需要更新,更新遇到了冲突,解决冲突之后,再次提交就没问题啦)检察日志日志这个玩意,在以后的开发中务必引起重视,在这个svn内里,我们也是可以检察日志的,好比我们检察这个类的日志:在这里可以看到自己和他人对这个文件的一些修改。版本回滚需要重视这个功效也是使用比力多的,可是刚开始的话会以为有点摸不着头脑,好比我们在写代码的时候,厥后发现自己写的代码有问题,效果已经提交上去了,别人拉取咱的代码,那肯定出问题啊,怎么搞,这个时候咱们就可以使用版本回滚,来看看详细怎么操作。
好比现在我们需要写个功效,这样写的:然后我们也提交上去了,咋整,忏悔了,能不能时光倒流,人家更新代码的话,会更新到我的错误代码,你看看人家原来是这样的:然后人家更新了下,就是这样的:啪啪打脸啊,不行,我得把自己的错误代码干掉,怎么搞嘞,那就是版本回滚,看着:然后选择需要回滚的版本:然后你再看,其实之前的错误代码已经没有了。注意注意注意!当你写了错误的代码提交上去之后,别人更新会更新到你的代码,可是这个时候可能只有你知道这段代码有问题,而你想重新写,那就像上面那样,你举行版本回滚,之前的错误代码都没了,你可以重新写,可是,别人现在更新还是会获得你之前的错误代码。所以这个时候你需要commit一下,把svn服务器上的提交的错误代码也恢复到原来的版本,记着回滚之后需要提交一下!如果你回滚之后没有commit,而是继续写正确的代码,就会是另外一种情况(不commit的话是没有真正回滚的,当地回滚,可是远程服务器没有),这个时候当你把正确的代码写完之后,提交上去的话,会提示你更新,你一旦更新,就会发生冲突,和你之前的错误代码冲突了,这个时候你需要解决冲突,留下正确的代码,然后跟提交上去,这个时候别人再次更新就会获得你正确的代码了。有没有更好的方式以上那种回滚导致的错误是使用这种回滚方式:实测中会泛起回滚之后没有commit就写了新的代码,紧接着提交的时候会提示更新,更新会泛起冲突,可是如果使用这种方式回滚:即时回滚之后没有commit就写了新的正确的代码,再次commit提交依然可以完成,不会像上面那样,提示你更新,然后更新会泛起冲突!至于为什么会泛起这样的情况,我们有深入的研究,后期如有需要会继续分享!总结关于svn的使用,对于一个刚入职初次使用svn的朋侪来说已经够用了,主要的还是要明确一些操作观点,然后熟练掌握更新和提交,一般在写代码之前先更新一下,制止泛起冲突,其他更多的就是在实际的使用中遇到新的问题再查资料或者请教他人快速解决,快速积累履历!谢谢列位大大的阅读泉源 :民众号| 编码之外推荐阅读:为了面试Google和FaceBook,我足足准备了6个月。
本文关键词:新公司,米乐m6官网登录入口,新,公司,还是,使用,SVN,一怒之下,写了
本文来源:米乐m6官网登录入口-www.czlvy.com