如何在家里搭建一个SVN服务器,或者git服务器? (阿里云搭建svn服务器)

博主:xiaoweixiaowei 2023-01-18 条评论

本文导航

  • 如何在家里搭建一个SVN服务器,或者git服务器?
  • 怎样搭建本地svn服务器环境?
  • 如何搭建SVN服务器?
  • 30?怎么安装和使用svn?
  • 如何把本机上面新建的项目添加到svn服务器上?
  • SVN服务器项目如何与本地项目同步,关联?
  • 我搭了svn服务器,但设计师总抱怨用得非常不爽,说他原来公司只需文件拷贝即可,怎么办?
  • SVN服务器做迁移,如何做?
  • svn服务器如何做备份?
  • 如何在家里搭建一个SVN服务器,或者git服务器?

    现在我们很多人使用的电脑可能都不止一台,闲置的电脑放在角落里也是浪费,其实是可以把这些闲置电脑当成服务器来使用的。比如说我们可以这样:充当WEB服务器使用,搭建自己的网站;搭建视频服务器,方便家里看电影;网盘服务器,充当网盘使用也很好;文件服务器;代码管理服务器,如GIT服务器、SVN服务器等。家庭用户搭建服务器注意事项如果想在家里搭建服务器,是需要注意一些事项的,因为家庭环境毕竟不像是专业的IDC机房,很多条件是受限的,主要注意事项有以下几点:1、是否有静态固定IP?如果你的IP不是静态的,而是每次重新拨号IP都会发生变化,那建议你使用花生壳之类的软件来实现域名与动态IP的绑定。2、确定运营商是否关闭了外网端口权限有些地区的运营商把用户的端口都封了,最常被封杀的端口是WEB端口(80),如果端口被运营商封了,那会影响服务访问的。3、电脑上的系统防火墙要正确设置如果开启了防火墙,那一定要开启相关端口访问权限,否则外网用户还是无法访问你的服务器。4、路由器上的端口转发设置如果你的服务器是通过路由器上网的(即:接入的是内网而不是公网),那你需要在路由器上做端口转发,因为外网用户访问你的IP后会进行路由器这一层,如果不做端口转发就无法定位到你的内网服务器上。服务器操作系统的选定既然手头的电脑是要做服务器使用,那你的系统建议还是换成服务器专用系统。如果你有Linux基础,那务必使用Linux服务器,因为Linux服务器无论是性能还是稳定性上远比Windows Server要好;如果你不会Linux,那可以安装Windows Server系统。如果都不会,用你的Windows家庭系统也是可以的。搭建版本管理服务器在搭建成本上来说,搭建SVN服务器比GIT服务器要简单一些。下面以搭建SVN服务器为例具体讲解一下搭建流程。1、下载并安装 VisualSVN Server去官网下载msi安装包并安装即可。2、新建仓库3、设置用户及组的读写权限仓库创建之后,我们需要创建用户及用户组,然后授权访问仓库即可。以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!

    怎样搭建本地svn服务器环境?

    甥?挳╰ふ???厨乖?????甥?挳瀯甥?攳甥?挳╰ふ?????癳????????揧尺獜湶┠ふ??╰ふ?╥ふ?灣甥?攳????珵湶敳癲捩??????玫湶敳癲捩?硥??揫尺獜湶屜楢?甥?挳瀯甥?攳甥?挳╰ふ?????潔瑲楯敳噓?????????????????????????????????????????????????????厩乖????????潔瑲楯敳噓???????岥匢瑥楴杮屳

    如何搭建SVN服务器?

    Windows的相对比较简单服务端和客户端安装步骤参考如下:SVN服务器叫Subversion,而SVN客户端很多,一般我们选择TortoiseSVN即可。然后,在安装客户端的过程中,安装引导程序会默认不安装命令行工具,这里我们最好给它选择成安装到本地。还有,在配置资源库(repository)的时候,注意取消注释时,不要在配置前面留下空格。=======================================================================进入正题:step1:安装SVN服务端到官网(Apache Subversion Binary Packages)下载合适的SVN服务端并安装。SVN服务器需要启动起来。在命令行中,转到SVN服务端所在的bin目录下,执行svnserve命令,即可启动SVN服务端。step2:安装SVN客户端TortoiseSVN到官网(Home · TortoiseSVN)下载合适的SVN客户端并安装。step3:在服务器建立资源库并配置一个目录下可以建立多个资源库,此处我以“MyRepository”作为资源总库,以“myDemo”作为其中一个资源库,用来测试。,进入myDemo,,之后将生成如下结构:,其中在conf文件夹下,修改svnserve.conf文件,取消这里的注释:,注意取消注释的时候不要留前面的空格。之后再修改conf下的passwd文件,添加你想要的用户名和密码,就像这样:step4:将本地的项目或文件夹发布到服务器选择项目文件夹,右击,,在弹出的对话框中输入上传地址注意最后的资源库需要是之前已经新建好的(myDemo)。step5:从服务器上下载项目到本地在本地任意位置新建一个文件夹,在此文件夹下,右击选择checkout,,在新弹出的窗口中填写合适的信息,OK。

    30?怎么安装和使用svn?

    SVN,即subversion,是一个开源的版本控制系统,版本控制器。是CVS的派生版。

    它是一个C/S模式的软件,既有SVN服务器,也有SVN客户端。利用它可以将数据更新到最新版本,也可以找回历史版本,可以检查文件的修改历史。

    1. SVN的基本功能

    根据文件修改的次数,自动增加版本库的版本号(库中所有的文件共用一个版本号),以便找回历史文件。

    防止团队开发时,多人同时修改同一文件导致文件被覆盖或删除。

    2. 软件的安装

    服务器的安装(建议先安装服务器)

    Setup-Subversion-1.6.17.msi

    客户端的安装

    TortoiseSVN-1.6.16.21511-win32-svn-1.6.17.msi

    装完客户端后,需要重启电脑。

    安装完毕以后,在桌面右击鼠标,如果出现两个SVN相关的选项,说明SVN安装成功

    3. 服务器的搭建

    a. 创建一个空文件夹,作为SVN服务器的目录 例如 E:server 文件夹的名字可以随便取

    b. 进入该文件夹,右键,选择 TortoiseSVN 菜单,单击里面的 Create repository here(创建版本库)。系统就会自动在该目录中生成一些文件和文件夹

    c. 修改conf文件夹中的passwd配置文件,添加代码 yangjun = 123456 即添加用户和设置密码

    d. 修改conf文件夹中的svnserve.conf主配置文件,去掉 # password-db = passwd 所在行的注释。 (目的是让passwd配置文件生效)

    这样,SVN服务器就搭建好了。

    4. 服务器的启动

    打开Windows的命令行,执行命令 svnserve.exe -d -r E:server

    之后,SVN服务器的目录(版本库)E:server 就可以被SVN客户端访问了。需要注意的是,命令行界面(DOS界面)不能关闭,否则服务就停止了。

    5. 客户端的使用

    a. 新建一个空文件夹作为SVN客户端的目录。 例如 F:%user1

    b. 进入该文件夹,右键,选择 TortoiseSVN 菜单,单击里面的 Repo-browser(浏览版本库),会弹出URL的输入框,输入 svn://127.0.0.1 或 svn://localhost (前面的表示访问服务器的协议,后面的表示服务器所在主机的ip)。

    c. 右键,选择 SVN Checkout(检出),连接服务器(第一次连接服务器的时候,需要检出,以后就不需要了)。

    以后,就把SVN客户端的目录 F:%user1 作为自己项目文件的目录,通过SVN服务器进行文件的上传、修改、下载和删除等操作。

    6. SVN客户端的目录中的文件的图标及含义

    问号 表示该文件是刚引入的新文件,还未被SVN版本库识别

    加号 表示该文件已经添加至服务器的观察名单,但还未上传至服务器

    对号 表示该文件的版本和服务器中的版本是一样的

    感叹号 表示该文件的内容和服务器中的文件内容不一样,也就是从版本库同步之后,该文件又作了修改,但还未上传至服务器

    锁 表示该文件已被锁定

    客户端目录中新添加的文件,由于还未被服务器识别,所以是以问号标识的。

    选择问号标识的文件,右键,选择 TortoiseSVN 菜单,单击里面的 Add 选项,添加至服务器的观察名单。这时,问号就变成了加号。

    选择加号标识的文件,右键,选择 SVN Commit(提交),执行上传。会弹出一个对话框,输入用户名和密码即可。这时,加号就变成了对号。

    把对号标识的文件内容进行更改后,对号就变成了感叹号。

    选择感叹号标识的文件,右键,选择 SVN Commit(提交),执行上传。之后,感叹号就变成了对号。

    选择对号标识的文件,右键,选择 TortoiseSVN 菜单,单击里面的 Get lock (锁定)。之后,对号就变成了锁。

    选择锁标识的文件,右键,选择 TortoiseSVN 菜单,单击里面的 Release lock (解锁)。之后,锁就变成了对号。

    7. 远程用户下载SVN服务器中的文件的步骤

    这里在F盘新建一个空目录 F:%user2 进行模拟。

    进入该文件夹,右键,选择 SVN Checkout(检出),连接服务器,输入正确的URL。就会自动把版本库中的所有文件下载到当前目录。

    以后,如果版本库中的文件有改动,右键,选择 SVN Update(更新),就可以和版本库中的文件同步。即当前客户端目录中的文件和版本库中的一致。

    可以理解为用户第一次下载用 SVN Checkout(检出),以后下载就用 SVN Update(更新)。

    8. 文件的删除

    进入客户端目录 F:%user1 ,直接删除你想要删除的文件(这时,只是客户端的文件被删除)。

    要想把服务器中的对应文件也删除,可以右键,选择 SVN Commit(提交),弹出一个对话框,勾选刚才删除的文件,点击确定。之后服务器中的对应文件也被删除了。

    服务器上的某个文件被删除后,当其他客户端的用户,执行 SVN Update(更新)时,就会和服务器中的文件同步。(对应的文件也会被删除)

    如何在家里搭建一个SVN服务器,或者git服务器? (阿里云搭建svn服务器)

    9. 历史版本的找回

    如果误删除了服务器上的某个文件,想要找回该文件,可以恢复到历史版本。

    在客户端目录 F:%user1 中,右键,选择 TortoiseSVN 菜单,再单击 Update to revision,弹出一个对话框,选择 revision,输入你想恢复到的版本号(一般是上一个版本号),确定。

    10. 历史版本间的差异对比

    如果某一个文件被多个人依次更新修改过,之后,大家也都同步了服务器的版本库。发现,某一个文件被别人更新过,可以通过以下方法查看差异。

    选择被更新的文件,右键,选择 TortoiseSVN 菜单,再单击 Diff with previous version,会对比显示出该文件的历史版本和当前版本的差异。

    左边的是历史版本,右边的是当前版本。

    11. 冲突的解决

    冲突指定的是,当多个人同时对同一个文件进行修改后,某一个用户(user1)先进行了提交(更新了服务器的版本库),其他用户(user2)后进行的提交,此时,就会出现文件过时而无法提交的现象(因为user2修改的文件版本不是最新版本,所以会提示文件过时,导致无法提交)。

    冲突的产生是SVN版本控制器的一个保护措施,可以有效防止客户端中低版本的文件覆盖服务器中高版本的文件。

    如何解决冲突?

    选择出现冲突的文件,右键,选择 TortoiseSVN 菜单,再单击 Edit conflicts,会对比显示出该文件的服务器版本和自身版本的差异。

    左边的是服务器的版本,右边的是自身版本。

    冲突的解决,是靠人为手动来解决的,一般是冲突相关的多个用户之间商量后,决定以某个文件版本为主。比如,经过大家商量后,决定以服务器中的版本为主。接下来,就应该这样操作: 在左边区域(服务器的版本),右键,选择 use this whole file或者在产生冲突的行,右键,选择 use this text block 来各取所长,依次处理完所有有冲突的行,之后,点击保存,关闭窗口。

    然后,选择出现冲突的文件,右键,选择 TortoiseSVN 菜单,再单击 Resolved(已解决)。告诉SVN冲突经大家商量后,已经解决。

    这时,该文件就可以正常提交了。选择它,右键,选择 SVN Commit(提交),上传至服务器。最后可以看到文件的标识变为对号。

    12. 将SVN服务器安装至系统服务

    前面我们说过,SVN客户端操作的过程中,开启SVN服务的命令行窗口不可以关闭,否则,SVN服务也会终止,导致客户端无法连接服务器。

    这里,我们可以把SVN服务添加到系统的自启动服务当中。操作方法如下:

    重新打开 cmd 命令行,在命令行中执行以下命令

    sc create svnserve binpath= “D:Program FilesSubversionbinsvnserve.exe –service –root E:server”

    如果提示 “[SC] CreateService 成功”,则表明创建系统服务成功。此时,添加的服务名为svnserve,状态默认是关闭的,启动方式为手动。

    之后,我们就可以利用Windows系统自带的服务管理界面进行管理,比如开启SVN服务,设置为自启动等。而不用通过命令行来控制了。

    删除系统服务 sc delete svnserve ( 如果删除了系统的svnserve服务,我们就又只能通过命令行来开启SVN服务,且不能关闭命令行窗口)

    13. 取消记住的用户名和密码

    如果在进行身份验证的时候,我们勾选了记住用户名和密码。那么,当我们需要使用别的用户名进行操作时,便会出现无法更改账号的情况,这时,我们可以取消记住的用户名和密码。下次进行身份验证的时候,我们就可以选择输入其他的用户名和密码。

    取消记住用户名和密码的方法:

    删除身份验证时保存在系统中的相关文件(auth文件夹)即可。进入 C:UsersAdministratorAppDataRoamingSubversion这个目录,删除里面的auth文件夹。

    14. 权限管理

    SVN的默认权限设定是匿名用户也可以连接到服务器,访问服务器中的文件,还可以进行下载。也就是说,任何一个人只要知道了SVN服务器所在主机的ip,就可以下载版本库中的所有文件。这种默认的权限设定是不安全的。因此,我们有必要进行SVN服务器的权限管理。

    打开SVN服务器的主配置文件 E:serverconfsvnserve.conf,将这行代码

    # anon-access = read

    修改成

    anon-access = none

    保存即可。

    之后,匿名用户对服务器就没有读的权限。也就是说,用户在浏览版本库和下载文件时,需要输入用户名和密码。

    15. 权限分配

    权限分配指的是,给不同的用户分配不同的权限,比如,需要设定某些用户(管理员)对所有的文件都有读和写的权限,其他用户(普通用户)只有读的权限或者只对服务器目录中的某个文件夹有读和写的权限时,就可以用到权限分配。

    这时,我们需要修改服务器配置文件目录( E:serverconf )中的三个配置文件:svnserve.conf 、passwd 和 authz。

    详细操作方法可自行查阅相关文档·

    如何把本机上面新建的项目添加到svn服务器上?

    非常简单,不要想复杂了,ABCDE五台电脑,五个编辑。

    二步:
    第一步:比如选择A电脑作为长期运行的搭建SVN的服务器,就把SVN服务器搭建在A上。

    第二步:BCDE安装SVN客户端,就都可以使用SVN访问到A服务器的文档,把服务器的repo签到本地,你们就可以协作了。

    SVN服务器项目如何与本地项目同步,关联?

    1、打开eclipse开发工具,在需要进行关联的项目上点击右键,选择team。

    2、选择share Project,在team操作按钮右侧,选择分享项目。

    3、选择svn版本控制。高版本的eclipse都支持svn、cvs、git等代码同步插件,这里使用svn演示,选择svn插件。3、选择需要关联的项目,找到svn目录链接,选择需要和哪个项目进行关联,然后点击下一步。

    4、确定好需要进行关联的项目之后,然后点击完成,进行开始同步代码。同步的过程中不会影响svn代码和本地代码。

    5、最后点击Finish进行同步,系统会提示文件夹{0}已存在于资源库中,不影响继续即可。SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

    我搭了svn服务器,但设计师总抱怨用得非常不爽,说他原来公司只需文件拷贝即可,怎么办?

    很简单,svn是给程序员用的,设计师根本就不应该用这种东西来做版本管理,包括git也是,因为你压根看不到修改了哪里,对设计师来讲这些都是繁琐且复杂的备份工具罢了,除了操作复杂外和手动复制文件没有任何不同。那解决方案是什么?很遗憾业界也没有很完善的解决办法,目前单机设计软件里除了AffinityDesigner可以让文件连同历史记录一同保存(文件体积会变大),并且在历史记录面板里可以看到所有历史操作分支外(beta版),其他软件或多或少都是靠插件实现或者没有根本这种功能,这是一块空缺,某些在线工具提供了预览图式的修改历史功能,这些是很好的尝试,另外xd在内测时也曝光过类似的版本管理功能截图,但目前官方并没有放出任何消息。总结一句,除非程序员产生的版本和设计师完全一致,否则没必要增加设计师的工作量,单个设计文件少则几M大则上G,业界需要一种外部/文件式记录来管理设计图版本,而不是粗暴的让设计师使用程序员的版本管理软件来check in,check out, commit,push,因为看不到版本变化了哪里,这种操作真的是浪费时间。

    SVN服务器做迁移,如何做?

    SVN项目,原本部署在10.10.13.48的电脑上,现在部门采购了一台更好的Server,IP为10.10.13.129。所以,想把SVN项目从48上迁移到129上。做法:准备:系统平台:windows server 2003版本库:vos源服务器:10.10.13.48目标服务器:10.10.13.129源SVN版本库的path: D:svnvos要迁移到的path: E:svnvos步骤:

    1.停止http服务,本文中用的是apache (源服务器)(目标服务器)

    2.cd C:Program FilesSubversionbin(Subversion的安装目录)(源服务器)———进入源服务器的svn安装目录3.执行:svnadmin dump D:svnvos D:svnvosvos.dump(源服务器)

    4.将vos.dump拷贝到目标服务器的任何地方,如E:vos.dump5.cd C:Program FilesSubversionbin(目标服务器)———进入目标服务器的svn安装目录6.svnadmin create E:svnvos (目标服务器)—————-创建目标SVN服务器的vos项目7.Svnadmin load E:svnvos

    svn服务器如何做备份?

    有个最简单的操作,在操作系统上做一个计划任务,在没人进行读写操作的时候,比如凌晨3点,执行copy命令完成备份。备份--把整个QD文件夹复制到别的地方;还原--把备份的QD文件夹复制回来。

    另外还有个办法,是用SVN的同步功能:svnsync命令,另外再架设一台SVN服务器用作备份,然后在源服务器的hooks文件夹内编辑post-commit这个钩子程序,实现每次有人执行commit操作的时候,就自动调用svnsync将最新的内容同步到备份服务器上。这个操作相对复杂些,但是能实现增量备。

    The End

    发布于:2023-01-18,除非注明,否则均为 主机评测原创文章,转载请注明出处。