提交文件和查看历史记录
现在,你已初始化 Git 存储库,可以开始添加文件了。 在本单元中,你将了解如何告知 Git 跟踪对存储库中的文件所做的更改。
注意
本单元中显示的命令用于说明概念。 请暂时不要运行这些命令。 稍后你将练习在此处学到的知识。
存储库的文件夹结构
使用 Git 等版本控制系统时,计划如何存储文件非常重要。 最好拥有明确的文件夹结构。
如果要生成 Bicep 代码以部署应用程序或其他解决方案,则最好将 Bicep 文件存储在与应用程序代码和其他文件相同的存储库中。 这样,每当有人需要添加同时更改 Bicep 和应用程序代码的新功能时,便会一同跟踪这些更改。
规划文件夹结构还能够使从管道部署解决方案变得更加轻松。 你将在后续的模块中了解管道。
对于如何设置存储库文件夹和文件,不同的团队有不同的约定。 即使不与团队合作,也最好确定要遵循的约定。 良好的文件和文件夹结构将有助于将来需要使用你代码的任何人。
如果团队尚没有首选项,建议进行以下操作:
- 在存储库的根目录中,创建一个 README.md 文件。 此文本文件以 Markdown 编写,描述存储库的内容,并提供帮助团队成员在存储库中工作的说明。
- 在存储库的根目录中,创建一个“deploy”文件。 在文件夹中:
- 存储名为“main.bicep”的主 Bicep 模板。
- 创建一个“modules”子文件夹,用于存储 Bicep 模块。
- 如果在部署过程中使用了其他脚本或文件,请将它们存储在“deploy”文件夹中。
- 在你的存储库的根目录中,为源代码创建一个 src 文件夹。 使用它来存储应用程序代码。
- 在存储库的根目录中,创建一个“docs”文件夹。 使用它来存储关于解决方案的文档。
下图演示了此结构如何查找玩具公司的网站:
暂存更改
对单个或多个文件进行更改后,需要进行暂存处理。 暂存会告知 Git,你认为更改很重要,可以保留。 这似乎是一个不必要的步骤,但暂存可以在你工作时提供灵活性。 例如,你可能对多个文件进行了更改,但只想保留其中一个文件。 或者,你可能只想保留对文件所做的某些更改。
若要对文件进行暂存操作,请使用 git add
命令并指定要暂存的文件名或文件夹名称。 暂存文件后,Git 便知道你可能想要提交更改。 使用 git status
查询存储库状态时,便会看到暂存的更改。
重要
对文件进行暂存操作后,如果在提交之前对文件进行任何进一步更改,Git 不会记录这些更改。 你需要再次暂存文件,使 Git 能包含最新的更改。
例如,假设你刚刚创建了一个 Bicep 模块来定义 Azure Cosmos DB 帐户。 它名为“cosmos-db.bicep”,你将它保存在“deploy/modules”文件夹中。 下面是对文件进行暂存操作的方法:
git add deploy/modules/cosmos-db.bicep
还可以从存储库的根文件夹运行以下命令,在存储库中暂存所有更改:
git add .
提交暂存更改
“提交”表示对存储库中一个或多个文件的一组更改。 准备好提交暂存的更改时,请使用 git commit
命令。 提交包括一条提交消息,它是更改的可读说明。
以下示例演示如何提交前面所示的暂存更改:
git commit --message "Add Cosmos DB account definition"
注意
Visual Studio Code 也可以提交到 Git 存储库。 在 Visual Studio Code 中使用 Git 集成时,如果尚未对文件进行暂存操作,Visual Studio Code 会询问是否希望它为你暂存所有已更改的文件。 你甚至可以将此选项设置为默认行为。 或者,如果需要,可以在 Visual Studio Code 中使用“源代码管理”手动对文件进行暂存和取消暂存。
使提交消息简短一些,但要让它具有描述性。 当你或团队成员将来查看提交历史记录时,每条提交消息都应说明更改的内容和原因。
对于需要包含哪些提交消息或如何设置其格式,并没有任何规则。 但通常,它们以现在时态和完整句子的编写,就像向代码库下命令一样。
提示
即使你一人工作,编写描述性的提交消息也是一种很好的做法。 其他人将来可能需要查看你的代码。 即使没有其他人查看你的代码,你可能需要查看自己的历史记录,并且希望简化你自己的工作!
下面是一些良好的提交消息示例:
- 更新应用服务配置以添加网络配置。
- 删除存储帐户,因为已使用 Cosmos DB 数据库替代它。
- 添加 Application Insights 资源定义,并将其与函数应用集成。
查看文件的历史记录
将文件提交到 Git 存储库后,可以使用 git log
CLI 命令查看文件的历史记录,甚至可以查看对存储库的所有提交。
若要查看提交的列表,请运行以下命令:
git log --pretty=oneline
此命令的输出显示提交列表,其中首先显示最近的提交。 每一行都包括提交哈希,这是 Git 在内部用于跟踪每个提交的标识符。 它还包括提交消息,这就是编写良好的提交消息非常重要的原因之一。
查看对特定文件的提交也是很常见的操作。 运行 git log
命令时,可以指定文件名,如下所示:
git log deploy/main.bicep
Git CLI 和 git log
命令提供了许多参数,可用于查看有关提交和文件的信息。 但是,使用 Visual Studio Code查看文件的提交历史记录通常更加容易。
在 Visual Studio Code“资源管理器”窗格中,可以选择并按住(或右键单击)存储库中的文件,然后选择“查看时间线”。 “时间线”窗格随即打开,其中会显示影响该文件的每个提交的列表。 选择提交时,可以看到对文件所做的确切更改。 在下一练习中,你将了解如何使用此信息。