我是我公司的首席技术官和唯一的开发人员。我正准备雇用我们的第一个开发人员,并可能在未来 6 到 12 个月内雇用第二个。我很尴尬地说我从来没有使用源代码控制作为我工作流程的一部分。我想作为一个 1 人开发团队让我有点懒惰。并不是我不想这样做,我只是对如何开始使用它有一点心理障碍。
我们有 5 个我构建和维护的 Web 应用程序。我们使用 ASP.NET,每个 Web 应用程序都引用一个已复制到每个应用程序的“bin”文件夹中的单个 .NET 类库 (DLL)。我一直在使用一个包含类库和所有 Web 应用程序的 Visual Studio“解决方案”进行开发。有点臃肿,我敢肯定,但这种方法使我能够同时对我的所有应用程序(和类库)进行全局查找和替换操作,从而使我可以轻松地最大程度地减少错误。
我意识到实现源代码控制本身对我的工作流程来说是一个很大的改变,但是在我的流程中引入另一个开发人员也让我有点不知所措。我正在寻求有关如何开发工作流程的帮助,以使我的小团队能够快速移动而无需繁琐的流程。我想避免讨论选择哪个 SCC 系统(我们将使用 Mercurial)。我对讨论它的结构和工作流程方面更感兴趣。
以下是我需要帮助的问题:
我应该将每个应用程序拆分为一个单独的“项目”还是将它们全部放在一起,以便我们可以在必要时继续从全局查找和替换操作中受益。由于类库的情况,我担心将它们分开(参见#2)。
如果将应用程序拆分为单独的项目,我不确定如何处理每个项目都需要一个副本的类库。例如,假设对其中一个应用程序(称为“项目 1”)的更改需要对类库进行更改......如果类库位于单独的项目中(称为“项目 2”),它在我看来,项目 1 将依赖于项目 2 中的最新更改才能正常工作,这对我来说似乎很“混乱”。或者,您是否只是对项目2(类库)进行更改,将它们签入,然后将新编译的dll复制到项目1中(但不应该将复制到项目1中的dll的新副本记录在SCC 不知何故)。写到这里我也很迷茫...
在此先感谢您的帮助。