Version control 反对将zip文件作为源代码管理的参数

Version control 反对将zip文件作为源代码管理的参数,version-control,Version Control,哪些参数可以用来反对将源代码的zip文件用作版本控制的形式 一般来说,每个开发人员都在开发自己的程序,并对此负责。当然,有时其他开发人员也会参与该程序的工作 每个开发人员都有自己的zip文件命名约定,包括在程序名后添加日期、数字,甚至在合作开发某些代码时添加_old/_oldld _newversion等。必须检查谁拥有“最新”版本的代码,以及代码所在的位置,通常确定正确的版本 现有的区分源代码树的方法并不简单,在开发过程中,不必要的更改偶尔会滑入代码中 存档与已发布到制造的软件版本相对应的zi

哪些参数可以用来反对将源代码的zip文件用作版本控制的形式

一般来说,每个开发人员都在开发自己的程序,并对此负责。当然,有时其他开发人员也会参与该程序的工作

每个开发人员都有自己的zip文件命名约定,包括在程序名后添加日期、数字,甚至在合作开发某些代码时添加_old/_oldld _newversion等。必须检查谁拥有“最新”版本的代码,以及代码所在的位置,通常确定正确的版本

现有的区分源代码树的方法并不简单,在开发过程中,不必要的更改偶尔会滑入代码中

存档与已发布到制造的软件版本相对应的zip文件。这至少增加了一些可追溯性

此外,在RTM之前,该代码与之前发布的版本进行同行评审,因此存在质量保证


是否有正式的白皮书解释源代码管理的优点,明确说明上述不是一种完全有效的源代码管理形式?这里存在的论点是,由于最终产品(制造版本)处于控制之下,并且这些产品经过审查,因此流程没有问题。开发人员以这种方式处理zip文件不会有太多问题,但可能没有意识到其优点。

最好的理由是,使用Subversion或Mercurial等版本控制系统肯定比处理zip文件容易得多,也更安全。我怀疑关于这个问题的论文已经很多了,因为 用于此目的的zip文件显然是错误的

关于版本控制的一般优点,有许多疑问。例如和

  • 创建和管理zip文件容易出错
  • Real source control为您提供了理解代码的工具:
    • 历史浏览
    • 修订之间的差异
    • 注释源文件以跟踪更改的来源
  • 真正的源代码控制并不困难,有很多帮助

这并不好,因为在发布前只创建一个zip意味着失去了版本控制的很多功能


通常,您应该在添加/删除/更改功能性aspekt后签入存储库。这样,当您认为可能是因为此更改而发生错误时,您可以稍后返回。或者当你说“dammed在文件格式在三月份的某一天发生变化之前就已经起作用了。”在更改后命名修订也更容易记住,因为您忘记了2009年3月27日所做的事情。

我想问这个问题是因为原始海报在办公室工作,标准做法是共享zip文件

由于Ned Batchelder给出的原因,Zip文件显然是不好的。我建议的最大原因是它很笨重,很难合并更改,或者很容易在过去的修订之间获得差异

我建议您阅读一些关于为什么版本控制系统非常有用的好论据,以及管理代码的一种更好的方法

一般来说,每个开发人员都在工作 在他们自己的程序和有一个 对此负责。但是有 当然,当其他开发人员 都参与了那个项目的工作

在一个普通的开发商店里,这根本不是真的。不同的人一直在使用相同的源代码。这几乎是强制性的。即使将代码分成模块,仍然会有与至少两个程序员相关的代码的交互点

当然,如果不使用源代码管理,几乎不可能在没有重大问题的情况下进行协作。但您描述的场景与其说是一个健全的项目结构,不如说是一种适应这种限制的方式


只有一个人在一个模块上工作,这意味着当这个人在休假,而当他离开公司、生病很长时间或死亡时,你会遇到重大问题时,什么也不会发生。

我假设你目前在一家实行这种拉链控制方法的公司工作,你正在寻找弹药来帮助你改变这种做法。关于源代码控制的StackOverflow有很多问题,这里的社区几乎完全一致认为正确的源代码控制的好处和没有它工作的恐惧(有很好的理由)


我将在这里添加一些对您的战斗有益的内容:您的公司是@$#%&$#@疯狂的!!!压缩文件???你是在开玩笑吗?

你是如何进行合并的?你如何做注释?你怎么平分?变更日志存储在哪里?只需访问维基百科,查找“版本控制”并查看列表:zip文件可以在整个页面中完成两件事


这就像问“什么样的论点可以用来反对速记作为复式簿记的一种形式?”。这是一件完全不同的事情。

我怀疑将有很多白皮书将zip文件与适当的源代码管理进行比较,就像有很多白皮书将用生锈的黄油刀切断生殖器与购买小狗进行比较一样。

zip解决方案需要在开发周期结束时采取积极的步骤,当事情趋于稳定时被删除,因为在开发组之外没有人注意到它们没有发生。有点像当事情进展缓慢时,你总是计划进行的最终代码清理

集成到开发环境中的SCM几乎强制/鼓励在整个过程中花费少量精力保存版本历史记录。这使得实际创建版本历史记录的可能性更大

关于将ZIP用作SCM的说明
我不打算把它当作h