1

我对 svn 完全陌生,我最后一次使用任何类型的源代码控制是 1987 年(sccs)。我是一个单人开发团队,我使用 svn 的唯一目的是让我拥有一份正在生产中的源代码副本,以便我可以快速修复,同时拥有另一个副本来进行新功能开发。如果我发现需要立即关注的错误,我会在“快速修复”副本中修复它,将其推送到生产环境,然后将更改合并到“正在进行的开发”副本中。当我将“正在进行的开发”投入生产时,我需要重置“快速修复”副本。

我实际上开发了 3 个站点,它们有很多共同点,一些共享代码,但大多数情况下它们之间的通信方式是不同的。

我最大的困惑是术语“工作副本”和“书签”。而且我还想知道“主干”、“分支”和“标签”等术语,我什至需要它作为一个人的商店吗?

关于如何设置的任何建议?我唯一能从相关问题中了解到的是,我可能应该为所有三个站点使用 1 个存储库。除此之外,我不知道如何设置它,如果有什么不同,我会在 Mac 上使用版本。

更新:下面建议的书非常好,而且我已经把它全部理顺了(我认为)。最初的混淆是关于书签一词。原来这是一个版本(Mac)特定的术语,书签只是为工作副本添加书签。

所以这就是我想出来的,首先创建一个存储库,然后导入我的三个站点

为每个站点创建两个工作副本

brad/tvdco/prod
brad/tvdco/fix
brad/neeis/prod
brad/neeis/fix
brad/pdftk/prod
brad/pdftk/fix

开始研究 ?/prod 工作副本中的新功能

如果我需要紧急修复,我在 ?/fix 中修复/测试,将该修复提交到存储库,然后将其导出并推送。

然后我更新 ?/prod 以将该修复程序用于新的开发。

当我准备好推送新功能时,我提交 ?/prod,导出它,向上推送,转到 ?/fix 并更新它。

从 svn 的角度来看非常直截了当。

4

2 回答 2

1

对于一个人的团队,我总是建议git,一个分布式版本控制系统。它不需要中央服务器,在我看来,它比 SVN 更容易设置和更灵活 --- 至少对于您描述的用例而言(我不想在这里引发一场激烈的战争:)) . git有一个惊人的官方文档,甚至还有关于 stackoverflow 的初学者指南

老实说,它自己的术语是一开始就必须学习的东西。svn我的一些前段时间还在使用的朋友,并没有git轻易切换到。但是,如果您很长时间没有使用版本控制,您可能会发现git's 的方法很新鲜。

于 2012-05-21T17:34:03.637 回答
1

查看SVN 书籍(在线)以帮助您前进。它将向您介绍应该对您有所帮助的概念。第一章将帮助您了解术语。

很多设置都取决于您以及您希望如何使用它。大多数 repos 使用 Branch、Tag、Trunk 根设置,但这不是必需的。

于 2012-05-21T16:49:34.000 回答