Visual studio 没有服务器的SVN用于我们的Visual Studio开发

Visual studio 没有服务器的SVN用于我们的Visual Studio开发,visual-studio,svn,Visual Studio,Svn,安全不是我们小团队的问题。 我们可能需要使用某种SVN服务器,而不仅仅是在某个地方使用网络共享上的文件,这有什么令人信服的原因吗 编辑 对不起,我觉得我沟通不太好 我想使用SVN进行版本控制。我认为我不需要“服务器”。团队成员都可以将其SVN客户端指向网络位置 这够好吗 还是我需要一个“服务器” SVN与安全无关;它是关于维护源代码的历史记录 我想不出一个令人信服的理由来解释为什么您不想设置SVN服务器。我在家里的个人桌面上使用一个用于我自己的开发。这与安全无关;这是关于保留我的源代码历史记录,

安全不是我们小团队的问题。 我们可能需要使用某种SVN服务器,而不仅仅是在某个地方使用网络共享上的文件,这有什么令人信服的原因吗

编辑

对不起,我觉得我沟通不太好

我想使用SVN进行版本控制。我认为我不需要“服务器”。团队成员都可以将其SVN客户端指向网络位置

这够好吗


还是我需要一个“服务器”

SVN与安全无关;它是关于维护源代码的历史记录

我想不出一个令人信服的理由来解释为什么您不想设置SVN服务器。我在家里的个人桌面上使用一个用于我自己的开发。这与安全无关;这是关于保留我的源代码历史记录,以防我搞砸了,想要恢复


这也是关于习惯的:“首先我们养成习惯,然后习惯造就我们。”学会一直正确地做,即使是在简单的情况下。

想象一下,与多人一起做同一个项目。两者都在同一时刻修改同一个文件。如果你们都在同一个文件共享上工作,那将是糟糕的。 使用某种源代码管理的另一个原因是能够跟踪更改。
这样你就可以通知你的同事他在哪里搞砸了。:-)

svn的主要用途是版本控制。
使用文件不容易保持版本控制。顺便说一句,您可以在自己的pc中本地设置“svn服务器”,subversion不是正确的工具如果您需要安全性,它是正确的工具:

  • 如果您想让一个团队同时处理相同的源代码(并且能够恢复错误的提交)
  • 如果要避免最后一个保存文件的人删除另一个所做的所有修改(如果文件位于同一网络共享上)
  • 如果您需要进行并行开发(并为此创建分支)
  • 如果您需要能够重新提取标记的版本(在交付应用程序时有用)

    • 设置服务器几乎是件小事,所以我想问你为什么不需要服务器。但还有其他一些原因:

    • 可靠性。网络文件系统(如SMB共享)不可用 可靠,特别是当涉及到多个用户向 同时使用相同的文件。SVN明确表示不主张 支持这一点
    • 表演。通过 服务器的速度将明显快于通过网络执行此操作 分享
    • 审计。您希望您的更改与用户关联,即使您不关心安全性。通过服务器强制登录,服务器可以使用该用户名记录更改者
    • 安全。如果使用网络共享,则所有用户都可以直接读取/写入存储库文件。我知道你不关心安全,但是简单的错误怎么办?例如某人意外地从存储库中删除文件

    • 下载并安装类似的东西。这在Windows上安装起来很简单,它为您提供了一个web UI来管理服务器。您还可以获得一个用于浏览存储库的web UI,这在研究bug时非常有用。

      在一个只有两个人的团队中,某种版本控制比没有版本控制有巨大的优势。如果您需要多个版本进行演示,则可以追溯更改,分支代码,并使用锁定/解锁+合并来防止开发人员互相谋杀代码,这就是为什么您使用SVN。在单独处理项目时也很方便


      您可以轻松地在Linux、Mac和Windows上托管SVN—您只需要该机器能够与开发机器进行网络连接。

      您需要运行在某处的SVN服务器进程。你无法避免。它是SVN的一个基本部分,它提供了对存储库的访问,也是客户机必须指向的


      我们使用。安装几乎不费吹灰之力。

      是的,您可以在某个文件夹上创建一个存储库,并将您的客户端指向那里,不需要
      svnserve
      过程或
      apache2
      +
      mod\u svn

      但是,有两个原因需要考虑服务器:

      • 同步性:基于文件的存储库由访问它的客户端更改。如果您的某个客户的时钟与团队其他成员的时钟不同步,他/她在极少数情况下可能会损坏存储库数据。但是,服务器将始终具有唯一的时间
      • 可伸缩性:当每天提交的数量增加时,基于文件的锁定/提交/解锁序列可能会在文件服务器上造成意外负载,并使您的团队因响应时间过长而感到沮丧
      • 可扩展性:迟早你或你的团队会发现需要一个票证系统(用于QA/QC或三级支持,如Trac、Redmine、Bugzilla),然后出现与修订控制相关的问题和修复确实会成为必须的。这些票证系统始终接受svn://URL,但很可能拒绝基于文件的存储库

      我不知道这些理由对您来说是否足够有说服力,但您确实可以推迟决定使用服务器,直到它变得不可避免为止——即使您的团队永远不会增长,也可以无限期地推迟。

      Subversion使用三种主要协议:

      • svn:
      • http:
      • 文件:
      还有一些其他的(svn+ssh和https),但它们与上述内容相关

      如果使用
      文件:
      协议,则不需要Subversion服务器。您只需将文件协议指向Subversion存储库所在的目录:

      C> svnadmin create C:\svnrepos\myrepos
      
      C> cd C:\workspace
      C> svn co file://C:/svnrepos/myrepos repos
      
      在上面,我在
      C:\svnrepos\myrepos
      中创建了一个Subversion存储库,然后转到另一个目录(非常重要!)并进行了签出。没有服务器正在运行<