我们如何对JavaScript文件进行版本控制

时间:2017-04-11 17:46:55

标签: javascript git version-control version

上下文:我们正在开发包含许多JavaScript文件的Windows操作系统(VS 2017,VS Code),例如:在'控件'文件夹我们将有control1.js,control2.js等(不同的人在不同的控件上工作)。

|- controls
     |- control1.js
     |- control2.js

On the 'apps' folder we will have : 

|-apps
    |- app1
        |- view.js
        |- controller.js
        |- model.js
    |- app2
        |- view.js
        |- controller.js
        |- model.js

现在,我们的想法是测试团队将/可能会发现需要修复的错误。我们将修复代码并将固定文件(例如ex.control1.js)重新部署到特定的测试团队。如果另一个团队(在不同的环境中工作)报告同一个文件中的另一个错误(control1.js),我们无法知道当前环境是否有上面提到的修复(只有代码比较会告诉我们) 。 没有文件版本可以帮助我们了解问题发生的位置(在哪个版本中)以及修复版本。

我们想要什么 - (也许这个问题已经解决了,但我找不到任何东西) - 我们希望@ check-in-time增加JavaScript文件的版本(可能是版本号为在C#)。
我们正在使用版本控制TFS(内部部署)和VSTS / Git(在visualstudio.com上在线)。

怎么样? - 每个JavaScript文件都有某种标题(文件顶部有一个大区域,带有一些注释文本),其中包含有关公司等的一些信息......以及文件的版本,例如:1.0.2.23 。 通过这种方式,我们将知道修复程序的版本(错误跟踪系统要求我们提及错误的版本以及修复版本。

我们如何在VS 2017(2015)以及VS Code中模拟这一点? 我们可以在所有JavaScript文件中使用单个文件(与C#中的AssemblyInfo.cs相同),而不是与每个JavaScript文件合并的文件吗?
这样,如果我们需要更改某些内容全球我们不需要......找到/替换所有地方?

提前谢谢。

2 个答案:

答案 0 :(得分:0)

对于需要由多人修改文件(例如control1.js)的情况:

  1. 如果修复后文件需要由测试团队进行双重测试,您可以修改另一个分支上的文件,然后由测试团队合并到当前工作分支中。
  2. 如果测试团队不测试固定文件,您可以直接在当前分支上修改文件,并将分支推送到TFS / VSTS。之后,如果其他团队成员也需要修改同一个团队,他们可以提取您所做的更改并根据最新版本修复该文件。
  3. 对于文件版本:

    实际上每次提交更改时它都是新版本,git会计算一个新的SHA-1校验和(提交ID),如a11bef06a3f659402fe7563abf99ad00de2209e6,你可以在VS中查看 - >团队资源管理器 - >分支 - >右键单击分支 - >查看历史记录

    如果您希望版本更具可读性,可以为提交添加标记,例如在“查看历史记录”中。右键单击提交 - >创建标记 - >然后输入标签名称,例如1.0.2.23

    并且您不需要单个文件来记录文件版本,因为git可以管理您所做的每个更改的版本。

    要获得部署测试团队的版本,您可以使用以下步骤:打开发行版 - >文物 - >找到构建定义和构建版本 - >在构建标签中找到构建版本 - >在摘要页面中,您可以在源代码中找到git版本。

    enter image description here

    enter image description here

答案 1 :(得分:0)

我们使用<major>.<minor>.<changeset>-<buildid>-<branch>形成的版本来跟踪部署的版本。在每个部署自定义IIS响应头字段“X-Release”随版本号更新,以便QA / PM始终可以检查他们在开发人员工具中使用的代码版本: Network tab of developer tools

但是,我们正在使用Octopus Deploy,因此无法告诉如何在TFS版本中执行此操作。