好的,我一直相信SVN是进入previous posting的方式,但我还没有看到顿悟。我不确定如何为我的开发环境设置SubVersion。
这是我目前的设置。我不是很想搞砸它,如果颠覆可以与它并列,那将是非常好的:
工作:
N:\项目
N:\项目\库
N:\项目\ App1的
N:\项目\应用1 \帮助
N:\项目\应用1 \图片
N:\项目\ App2的
..etc
N:在建筑物的单独服务器上。
还有其他一些开发机器在本地安装了这些工具,但所有开发都是在引用服务器上的文件时进行的 - 即工作站上没有源代码。
主
具有相同开发工具集的笔记本电脑,以及c:\ Projects \ App1 ..等中的源代码,即工作中n:\ Projects上的设置镜像。
N:\ Projects和C:\ Project之间的源代码目前与DropBox一起保持与自定义应用程序对齐。文件排除确保非源文件不会被同步
我想使用此设置运行SubVersion。
答案 0 :(得分:8)
为了拥抱Subversion,您将使用服务器上的Subversion存储库替换您的共享源目录。每个开发人员工作站将在本地签出整个源代码的副本(但是,如果您愿意,这可能是网络服务器上的私有区域。)
您可以将N:\Projects
树保留为每日构建的只读副本,或者其他任何内容。但Subversion的目标之一是在两个人大致同时编辑同一个文件之间进行调解。这与包含可写源代码的共享目录不兼容。此外,让多个开发人员以某种方式“共享”同一个Subversion工作目录注定要失败。
答案 1 :(得分:4)
在将整个源代码树移入其中之前,为什么不创建一个可访问互联网的(免费)试用版Subversion帐户,并玩一下,让自己熟悉一下。因此,您不会意外删除您拥有的所有内容。也许从一个虚拟项目开始。在互联网上托管一些东西。没有支付一分钱,你可以使用这个网站:
然后您可以设置自己的starter subversion服务器。你可以创建一个全新的Delphi应用程序(文件 - >新的delphi应用程序),然后添加一个按钮,然后双击该按钮,编写一个消息框,或者你想在演示应用程序中做什么。现在创建一个subversion存储库(也许他们称之为项目,在项目锁定器上),并将保存此项目的文件夹添加到该存储库中。
现在你可以玩(a)陆龟SVN,(b)SVN集成构建到Rad Studio XE,如果你有Rad Studio XE,和(c)JCL中的版本控制插件,如果你不没有Rad Studio XE。
另外,如果您希望知道自己在做什么,我可以建议您从命令行学习如何添加,提交和更新。这真的不是那么难。它会在以后得到回报。
知道你可以输入svn co http://reposite.something.com/svn/myproject
来检查磁盘上的项目,非常方便。有时,我认为GUI正在为你的大脑训练轮子。如果你不学习命令行,你就会瘫痪自己。
托管的subversion服务的好处就像我上面展示的那样,就是你有一个异地备份。当然,如果您正在编写开源软件,即使对于大型项目,此类托管也始终是免费的。然后你可以托管sourceforge。否则,您将(a)需要使用您自己的互联网可访问主机或(b)支付托管费用,否则您将无法在家中和工作中轻松访问您的存储库。
就个人而言,如果这是我自己的事业,或者我编写软件的专业工作,我会主持我自己的subversion服务器,它只是私有(LAN),我会使用VPN从家里访问它。
答案 2 :(得分:3)
1:您肯定希望可以从两个位置访问存储库。要么,您需要使用分布式版本控制系统,如Mercurial或Git
2:是的,您的自定义同步应用不再需要了。这正是您的版本控制系统的工作。除了使用SVN之外,手动同步不是必需的,甚至会产生许多冲突。
答案 3 :(得分:1)
对于家庭访问,最简单的方法是在网络上获取专用服务器或重定向路由器上的正确端口(但显然需要一些访问控制),以便可以从外部访问您的存储库。如果需要,您可以限制从家庭IP或具有良好路由器的IP列表的访问。
另一种解决方案是另一种称为“分布式”的版本系统,其中每个提交都在您自己的PC上的本地存储库中完成,并且此存储库合并在“主”存储库中以共享代码和更改该团队的其他成员被拉回到您的本地存储库中(您不需要任何“主”存储库技术上在DVCS上,但对于您将拥有的公司而言)。
请参阅Git或Mercurial以获得良好的DVCS(Git语法很糟糕,但它是使用最广泛的系统,技术上是最好的系统)。
答案 4 :(得分:1)