使用提交保存工作
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Visual Studio 2022 |Visual Studio 2019 |Visual Studio 2017 |Visual Studio 2015
在修改存储库中的文件时,Git 不会自动拍摄工作快照。 通过暂存特定更改,告知 Git 要在快照中捕获哪些文件更改。 暂存后,通过提交保存快照。
本文提供以下任务的过程:
- Git 如何跟踪更改
- 提交内容
- 如何暂存更改
- 如何创建提交
- 如何更新上次提交
有关 Git 工作流的概述,请参阅 Azure Repos Git 教程。
Git 如何跟踪更改
在存储库中工作时,Git 会跟踪对所有 已跟踪 文件的更改。 跟踪的文件是当前暂存或包含在上一次提交中的文件。 Git 将跟踪的文件分为三个类别:
- 未修改的文件 - 自上次提交以来尚未更改的文件。
- 已修改的文件 - 自上次提交以来已更改的文件,但尚未暂存下一次提交。
- 暂存文件 - 自上次提交以来已更改的文件,并暂存下一个提交。
创建提交时,仅对快照使用暂存文件和未修改的文件。 保留对已修改文件的未标记更改,但快照包含这些文件的未修改版本。 Git 不会跟踪对新文件的更改,也不会在快照中包含新文件,直到暂存它们。
提交是在本地 Git 存储库中创建的。 每个提交不必是完美的,可能需要多次提交才能完成预期更改。 在工作时创建提交,完成后,可以将提交 推送 到远程存储库,以便与他人共享你的工作。
提交内容
每个 提交 都包含以下信息:
- 提交时存储库中所有跟踪文件的快照。 虽然 Git 使用快照来计算差异,但快照并不是提交之间的差异。 快照支持 在分支 之间快速切换,并支持 合并 分支。
- 对父提交的引用。 大多数提交都有一个父级,但在分支合并后下一个提交具有多个父级,存储库中的第一个提交没有。
- 描述提交中的更改的消息。 创建提交时输入消息。
Git 使用每个提交的快照和父引用 () 来维护存储库中开发的完整记录。 若要调查代码中的更改,可以查看存储库的 Git 历史记录 。
如何暂存更改
若要为提交创建快照,请执行以下操作:
- 暂存 新文件 ,让 Git 知道你希望它们添加到快照,并且希望 Git 跟踪这些文件的更改。
- 暂存 编辑的文件 ,以告知 Git 想要快照中修改的文件版本,而不是未修改的文件版本。
- 暂存 已删除的文件 ,让 Git 知道你希望从快照中删除这些文件,并且不再跟踪这些文件。
若要从快照中排除临时文件、日志文件或其他文件,可以将 Git 配置为 忽略特定文件。
注意
Git 支持对编辑的文件进行交互式暂存,以便可以选择在文件中暂存特定更改。 当你希望在不同的提交中编辑不同的文件时,这是一项有用的功能。
Visual Studio 2019 版本 16.8 及更高版本提供 Git 版本控制体验,同时维护团队资源管理器 Git 用户界面。 若要使用团队资源管理器,请从菜单栏中取消选中 ToolsOptionsPreview>>FeaturesNew>Git 用户体验。 可以从任一接口互换使用 Git 功能。 下面提供了有关如何暂存文件更改的并排比较。
Visual Studio Git
- 在 “Git 更改 ”窗口中,右键单击 “更改 ”部分中的文件,然后选择 “暂 存”以将其添加到 “暂存更改 ”部分。
或者,可以通过选择文件旁边的加号来暂存已更改的文件。 若要暂存文件夹中所有已更改的文件,请选择文件夹旁边的加号。 若要暂存存储库中的所有已更改文件,请选择 “更改 ”部分右上角的加号。
可以通过右键单击它并选择“ 忽略此本地项 ”或 “忽略此扩展名”,告知 Git 忽略文件。 如果存储库中不存在,则任一命令会在存储库中创建 一个 .gitignore 文件,并为其添加一个条目。 忽略的文件不会显示在Visual Studio的“更改”部分中。 但是, .gitignore 文件对跟踪的文件没有影响。 有关如何将 Git 配置为忽略跟踪的文件的信息,请参阅 “忽略文件”。 为了节省时间,可以从 GitHub gitignore 存储库下载适用于各种开发环境的 .gitignore 模板。
注意
Visual Studio 2019 不支持在文件中暂存部分更改。 Visual Studio 2022 引入了该功能。
如何创建提交
Visual Studio 2019 版本 16.8 及更高版本提供 Git 版本控制体验,同时维护团队资源管理器 Git 用户界面。 若要使用团队资源管理器,请从菜单栏中取消选中 ToolsOptionsPreview>>FeaturesNew>Git 用户体验。 可以从任一接口互换使用 Git 功能。 下面,我们提供了有关如何创建提交操作的并排比较。
如何更新上次提交
Git 支持更改上次提交的暂存文件或消息。 此操作将最后一次提交替换为合并提交中的暂存文件并使用新提交消息的新提交。 如果忘记暂存文件,或者最后一条提交消息拼写错误,则修改提交非常有用。
警告
请勿修改已 推送的 提交,因为这将导致远程存储库出现同步问题。 对于推送提交,请使用以下策略之一:
- 创建并推送另一个提交,以修复先前提交导致的问题。
- 撤消推送的先前提交,方法是创建
git revert一个新提交, 以还原 之前提交所做的所有更改。 然后推送新提交。
Visual Studio 2019 版本 16.8 及更高版本提供 Git 版本控制体验,同时维护团队资源管理器 Git 用户界面。 若要使用团队资源管理器,请从菜单栏中取消选中 ToolsOptionsPreview>>FeaturesNew>Git 用户体验。 可以从任一接口互换使用 Git 功能。 下面,我们将对如何修改提交进行并排比较。
Visual Studio Git
在 “Git 更改 ”窗口中,可以选择暂存一个或多个文件,输入提交消息,选择 “修订”,然后选择“ 提交暂存”。
“Git 更改”窗口支持修改提交消息、暂存文件或两者。 选择 “修订”时,将显示上一次提交的标识符 SHA。










