Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 版本控制:经常单独发布的备用程序文件的最佳工具_Version Control_Versioning_Bug Tracking - Fatal编程技术网

Version control 版本控制:经常单独发布的备用程序文件的最佳工具

Version control 版本控制:经常单独发布的备用程序文件的最佳工具,version-control,versioning,bug-tracking,Version Control,Versioning,Bug Tracking,大家早上好。 这一次是关于版本控制工具的一般性问题。 在我的软件室,15个人在ACU COBOL上工作,为药房生产一个管理软件。 我是唯一一个从事其他集成软件工作的.NET人员。 这个管理软件由300-400个程序组成,我的同事经常在备用的zip包中修改和发布程序;其原理类似于Linux发行版中的“滚动发布” 在这种工作环境中,版本控制工具如何才能是最好的? 现在他们不使用任何版本控制工具,所以他们没有先入为主的观念:只是需要学习和使用的新东西。 他们需要使用某种标记跟踪对程序的更改,因此当他们

大家早上好。 这一次是关于版本控制工具的一般性问题。 在我的软件室,15个人在ACU COBOL上工作,为药房生产一个管理软件。 我是唯一一个从事其他集成软件工作的.NET人员。 这个管理软件由300-400个程序组成,我的同事经常在备用的zip包中修改和发布程序;其原理类似于Linux发行版中的“滚动发布”

在这种工作环境中,版本控制工具如何才能是最好的? 现在他们不使用任何版本控制工具,所以他们没有先入为主的观念:只是需要学习和使用的新东西。 他们需要使用某种标记跟踪对程序的更改,因此当他们必须发布修复程序(一个zip包)时,他们可以进入存储库并获得标记的修改程序,以实现特定的请求。 我们正在考虑Mercurial和Trac,但我想从其他开发人员那里了解是否有更好的工具来管理我们特定的工作和发布流程

谢谢大家!
南多


谢谢你,沃克! 我会尽力更好地解释我们的需要

嗯,跟踪历史对我们很重要,所以VCS(像Mercurial这样的DVC)可能是一个不错的选择

现在,源代码管理是手工完成的:有一个文件夹,我们用它作为主干,开发人员在这里工作。在解决bug或执行新的“紧急”功能请求时(我们与药店合作,受数千条不同法律的影响,我们不能忽视……),他们在Excel(!)电子表格上记录哪些程序受其工作影响;完成后,他们在发布模式下编译这些程序,构建zip,然后将其发布到我们的定制web应用程序上,我们的软件分销商可以从中获取并发布到他们的定制前端,他们的客户(使用我们的管理软件)可以从中获取更新

我们需要跟踪这种工作方法:

  • Bug o要实施的紧急功能->
  • 生成一张票据(发布、跟踪、随意调用,但在何处注册以自然语言完成的工作,以及在何处帮助台(而非开发人员)可以理解已完成的工作)->
  • 工作与调试->
  • 标记(如“fix-123”)受此票证影响的程序->
  • 在主干中提交->
  • 仅获取修改过的程序,按标签“fix-123”->
  • 仅编译这些程序->
  • 构建拉链并释放(以我们的定制方式,这并不重要)。
  • Mercurial可能是一个解决方案,但我只想知道是否有其他人也有同样的问题,以及如何解决这些问题

    谢谢大家!

    Nando

    我建议区分:

    • 源代码管理(在VCS存储库中进行管理,可以是使用Subversion的中心存储库,也可以是使用Mercurial或Git的分散存储库:请参阅)。本文列出了在企业环境中设立风险投资公司的更多问题
    • 发布管理(使用ZIP之类的二进制工件,在更通用的存储库(如带有Nexus的maven存储库)中进行更好的管理)。
      您发布的事实通常意味着您将不得不“清理”一些不再需要的旧版本(一个又一个版本会占用您的磁盘空间以及备份):在Maven repo(例如)中删除旧工件比在任何VCS工具(旨在保留历史)中要容易得多