练习 - 将文件提交到存储库并查看其历史记录

已完成

在上一练习中,你为玩具公司的网站初始化了 Git 存储库。 你添加了 Bicep 文件,但没有提交该文件。

通过学习本练习,你将能够:

  • 提交在上一练习中创建的文件。
  • 添加新的 Bicep 模块,然后使用 Git 比较 Bicep 代码中的差异。
  • 提交更新后的 Bicep 代码。
  • 查看提交历史记录和主 Bicep 文件的历史记录。

对 Bicep 代码进行更多更改的过程将展示 Git 和 Visual Studio Code 如何帮助你跟踪和管理更改。

使用 Git CLI 提交 Bicep 文件

  1. 使用 Visual Studio Code 终端,运行以下命令来暂存“main.bicep”文件:

    git add deploy/main.bicep
    
  2. 运行以下命令来提交暂存更改并提供提交消息:

    git commit --message "Add first version of Bicep template"
    

添加 Bicep 模块

在这里,你需要添加 Bicep 模块,然后从 main.bicep 文件引用它。

  1. 在“deploy”文件夹中 ,创建名为“modules”的子文件夹。

  2. 在“modules”文件夹中,创建一个名为“app-service.bicep”的新文件。

  3. 打开并保存空白的 app-service.bicep 文件,以便 Visual Studio Code 加载 Bicep 工具。

  4. 将以下代码复制到 app-service.bicep 中:

    @description('The Azure region into which the resources should be deployed.')
    param location string
    
    @description('The type of environment. This must be nonprod or prod.')
    @allowed([
      'nonprod'
      'prod'
    ])
    param environmentType string
    
    @description('The name of the App Service app. This name must be globally unique.')
    param appServiceAppName string
    
    var appServicePlanName = 'toy-website-plan'
    var appServicePlanSkuName = (environmentType == 'prod') ? 'P2v3' : 'F1'
    var appServicePlanTierName = (environmentType == 'prod') ? 'PremiumV3' : 'Free'
    
    resource appServicePlan 'Microsoft.Web/serverfarms@2023-12-01' = {
      name: appServicePlanName
      location: location
      sku: {
        name: appServicePlanSkuName
        tier: appServicePlanTierName
      }
    }
    
    resource appServiceApp 'Microsoft.Web/sites@2023-12-01' = {
      name: appServiceAppName
      location: location
      properties: {
        serverFarmId: appServicePlan.id
        httpsOnly: true
      }
    }
    
  5. 保存并关闭 app-service.bicep 文件。

  6. 打开 main.bicep 文件。

  7. 在参数声明下方,添加以下参数声明和模块定义:

    @description('The name of the App Service app. This name must be globally unique.')
    param appServiceAppName string = 'toyweb-${uniqueString(resourceGroup().id)}'
    
    module appService 'modules/app-service.bicep' = {
      name: 'app-service'
      params: {
        location: location
        environmentType: environmentType
        appServiceAppName: appServiceAppName
      }
    }
    
  8. 保存并关闭 main.bicep 文件。

比较差异

现在,你已对 main.bicep 文件进行了更改,接下来我们来检查差异。 建议查看要暂存和提交的每个文件中的差异。 进行查看以验证更改是否正确。

  1. 在 Visual Studio Code 中,选择“查看”>“源代码管理”,或在键盘上选择 Ctrl+Shift+G

  2. 在打开的“源代码管理”面板上,选择 main.bicep 文件。

    显示文件差异的视图随即打开。

    Screenshot of Visual Studio Code that shows the differences between the current main.bicep file and the modified version.

    请注意,Visual Studio Code 会显示所做的更改。 原始文件位于左侧,更改后的文件位于右侧。 向文件添加的内容以绿色显示。 当编辑文件和删除内容时,删除内容以红色显示。

  3. 打开 app-service.bicep 文件的差异。

    请注意,差异视图左侧没有显示任何内容,因为此文件是新建的,并且未添加到存储库中。

使用 Visual Studio Code 提交更新后的 Bicep 代码

查看更改并感到满意后,便可将更新提交到文件中。 这一次,你将使用 Visual Studio Code。

  1. 打开“源代码管理”。

    应会显示两个已更改的文件。 如果没有看到它们,请选择“刷新”按钮,以便 Visual Studio Code 扫描更改。

    Screenshot of Visual Studio Code that shows Source Control, with the Refresh toolbar icon highlighted.

  2. 选择这两个已更改文件中的每个文件,然后进行暂存。 可以选择每个文件上的加号 (+) 图标,也可以选择并按住(或右键单击)每个文件,然后选择“暂存更改”。

    Screenshot of Visual Studio Code that shows Source Control, with the main.bicep context menu displayed and the Stage Changes menu item highlighted.

  3. 在“源代码管理”顶部,输入描述性的提交消息,如下所示:

    Add App Service module
    
  4. 选择提交消息文本框上方的复选标记图标。 你也可以选择“提交”。

    Screenshot of Visual Studio Code that shows Source Control, with the commit icon highlighted.

    Visual Studio Code 会提交两项更改。

使用 Git CLI 查看提交历史记录

  1. 在 Visual Studio Code 终端中,输入以下命令以查看存储库的提交历史记录:

    git log --pretty=oneline
    

    输出与以下示例类似:

    238b0867f533e14bcaabbade31b9d9e1bda6123b (HEAD -> main) Add App Service module
    9e41f816bf0f5c590cee88590aacc977f1361124 Add first version of Bicep template
    
  2. 检查输出。 请注意,这两个提交都会显示在提交历史记录中。

使用 Visual Studio Code 查看文件的历史记录

你还可以查看单个文件的历史记录、提交后文件的状态以及提交应用的更改。

  1. 在 Visual Studio Code 中,打开“资源管理器”。

  2. 选择并按住(或右键单击)main.bicep 文件,然后选择“打开时间线”。

    Screenshot of Visual Studio Code that shows the Explorer panel, with the shortcut menu displayed for the main.bicep file and the Timeline menu item highlighted.

    此时将打开时间线并显示这两个提交。

    Screenshot of Visual Studio Code that shows the timeline for the main.bicep file, with two commits listed.

  3. 在列表中选择每个提交,以查看该时间点文件的状态。