我们有几个开发人员在开发相同的 VS2005 解决方案,但我们的源代码控制非常糟糕。(我们公司使用 Harvest,我们投不信任票)。
现在,我们都只是在处理共享局域网驱动器上的文件。显然,这会导致一些问题。但我们认为这比在本地工作、在电子表格中跟踪我们接触的文件并手动合并所有内容要好。有人有合并我们更改的策略吗?
一些问题的存在是因为公司的官僚主义(比如强制 Harvest)。这些相同的政策阻止将新工具引入我们的环境。因此,避免购买/下载新软件的策略最适合我们。
我们有几个开发人员在开发相同的 VS2005 解决方案,但我们的源代码控制非常糟糕。(我们公司使用 Harvest,我们投不信任票)。
现在,我们都只是在处理共享局域网驱动器上的文件。显然,这会导致一些问题。但我们认为这比在本地工作、在电子表格中跟踪我们接触的文件并手动合并所有内容要好。有人有合并我们更改的策略吗?
一些问题的存在是因为公司的官僚主义(比如强制 Harvest)。这些相同的政策阻止将新工具引入我们的环境。因此,避免购买/下载新软件的策略最适合我们。
学习使用 Harvest。让事情顺利进行需要一点努力,但总的来说,它是一个优秀的源代码控制系统。
另一种可能性是Scooter 的 Beyond Compare。它具有两路和三路合并以及文件和目录的强大差异功能。如果您想了解更多信息,请收听Jim McKeith的delphi 播客。
但像大多数其他人一样,我建议使用 Git 或学习 Harvest。如果源代码控制系统允许更改其差异应用程序,Beyond Compare 将是一个很好的替代品。
将共享视为您的源代码控制系统。将共享设为只读,这将迫使开发人员获取本地副本以进行更改。然后你有一个比较稳定的版本来比较。这将有助于促进能够进行“合并”。“检查”代码必须包含文件的某种备份策略(可能制作带有时间戳和用户名的文件副本作为新文件名的一部分)并用新版本替换原始文件。
话虽如此,在没有真正可靠的源代码控制系统的情况下进行此类活动将是困难且容易出错的。
获取 git 并将其安装在每个开发人员的机器上。然后将存储库设置为复制。
有两个不同的问题:版本控制和合并。绝对没有理由不使用版本控制系统。如果公司已经决定了一个解决方案(无论出于何种原因),那么就使用它。不喜欢它或对它没有“信心”并不是不使用它的正当理由。并且使用共享驱动器来模仿源代码控制系统是非常疯狂的。
合并是第二个问题。您只需要一个差异/合并工具。选一个。没有人你怎么走了这么久?!
Araxis是一个伟大的。花费几块钱。一段时间以来,SourceGear 的人们一直在免费分发他们的差异/合并工具(Vault 附带的工具)。它也是一个有力的竞争者。这是我用过的两个,我知道现在仍在市场上。还有一些人已经提到过。
手动合并所有内容不是一个可行的解决方案。将其与不使用 VCS 相结合是灾难的根源。
除非您想手动下载,否则您可能必须下载一些东西。我强烈推荐Winmerge。它是免费的、开源的,而且对于你来说可能更适合一个不会搞砸的小下载。
有一个标准的 unix 命令行工具,称为 merge,它可以相当智能地将两组更改合并到一个文件中。语法是:
merge mine older yours
其中“mine”是包含您更改的文件,“older”是原始文件,“yours”包含其他人的更改。
不过,不确定您是否有一个 UNIX(或 Mac OS X)盒子来执行此操作。
使用共享驱动器不是一个好主意,并且得到我的“不信任”投票。
覆盖其他人的更改太容易了,您没有更改跟踪,无法分支或标记/标签等。