我对 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 的角度来看非常直截了当。