在 Visual Studio 中进行 Git 提交
任何 Git 工作流的核心部分是修改文件并提交这些文件中的更改。 虽然本文引用 GitHub 存储库,但你可以远程处理所选的 Git 提供程序,例如 GitHub 或 Azure DevOps。 或者,你可以在本地工作,完全不与任何服务商合作。
Git 在工作时跟踪存储库中的文件更改,并将存储库中的文件分为三个类别。 这些更改相当于在命令行中输入 git status
命令时会看到的内容:
- 未修改的文件:这些文件自上次提交以来未更改。
- 修改的文件:这些文件自上次提交以来发生了更改,但你还没有为下次提交做暂存。
- 暂存文件:这些文件的更改将被添加到下一个提交中。
当你执行操作时,Visual Studio 会在“Git 更改”窗口的“更改”部分中跟踪对项目的文件更改。
暂存更改并提交
若要在就绪时暂存更改,请选择要暂存的每个文件上的“+”(加号)按钮,或右键单击文件,然后选择“暂存”。 还可以使用“更改”部分顶部的暂存全部 +(加号)按钮,一键暂存所有已修改的文件。
暂存更改时,Visual Studio 将创建“暂存更改”部分。 只有“暂存更改”部分的更改会添加到下一次提交中,可以通过选择“提交暂存内容”来执行此操作。 此操作的等效命令是 git commit -m "Your commit message"
。
还可单击“–”(减号)按钮来取消暂存更改。 此操作的等效命令是 git reset <file_path>
(用于取消暂存一个文件)或 git reset <directory_path>
(用于取消暂存目录中的所有文件)。
还可以通过跳过暂存区域来选择不暂存已修改的文件。 在这种情况下,Visual Studio 允许您直接提交更改,而无需暂存它们。 只需输入提交消息,然后选择“全部提交”。 此操作的等效命令是 git commit -a
。
借助 Visual Studio,您可以使用 提交全部并推送 和 提交全部并同步 快捷键,一键轻松实现提交和同步。 双击“更改”和“暂存更改”部分中的任何文件时,可以看到与该文件的未修改版本的逐行比较。 请参阅比较文件 - 差异视图。
版本 17.6 中的新增功能:还可以通过键入 #
或选择提交消息文本框右下侧的 # 按钮来引用问题或拉取请求。 有关详细信息,请参阅引用问题和拉取请求博客文章。
版本 17.12中的新增功能:重命名文件时,“Git 更改”窗口顶部会显示通知栏,表明文件已重命名,并提示你暂存该更改。 此通知在你暂存或提交任何内容之前显示。 你可能希望在进行其他更改之前暂存并提交更改,以确保 Git 将更改检测为重命名,而不是删除和添加新文件。
版本 17.13中的新增功能:安装 GitHub Copilot 后,可以在提交代码更改之前查看 GitHub Copilot。 若要使用此功能,请确保已启用 工具>选项>预览功能>拉取请求注释,并启用 工具>选项>GitHub>Copilot>源代码管理集成>启用 Git 预览功能。
在“Git 更改”窗口中,单击“使用 Copilot 评审更改“按钮,该按钮看起来像带有闪光的注释图标。
片刻之后,会显示一个链接,其中显示代码审阅评论数,该链接出现在 Git 更改 窗口,你可以单击该链接查看和导航评论。 如果未检测到任何问题,则会出现消息“Copilot 未注释任何文件”。
代码评审反馈显示为批注,其中显示了潜在问题的简短摘要,你可以决定进行更改,或者通过使用批注框右上角的向下箭头按钮关闭批注框。
若要删除所有注释,请使用 Git 更改窗口中的 X 关闭 Copilot 代码评审链接。
还原、重置或修改提交
双击 提交时,Visual Studio 会在单独的工具窗口中打开其详细信息。 在此处可以还原提交、重置(撤消)提交、修改提交消息或创建提交标记。 在提交中单击已更改的文件时,Visual Studio 将打开该提交及其父项的并排“差异”视图。
使用 GitHub Copilot Chat 生成提交消息
使用 Visual Studio 版本 17.9 及更高版本和 GitHub Copilot 扩展,可以使用 AI 生成描述更改的详细提交消息。
注意
若要启用 AI 生成的提交消息,需要 GitHub Copilot 和 GitHub Copilot Chat。 如果使用 Visual Studio 版本 17.10 或更高版本,请参阅 获取适用于 Visual Studio 2022 版本 17.10 或更高版本的 GitHub Copilot。
如果您使用的是 Visual Studio 版本 17.9 或更早版本,请参阅 获取适用于 Visual Studio 2022 版本 17.8 到 17.9 的 GitHub Copilot。
准备好提交后,请在提交消息文本框右下角使用 sparkly pen 图标(工具提示:添加 AI 生成的提交消息),请求 AI 生成的提交消息。 生成 AI 生成的文本,并将其添加到你已拥有的任何内容。 仔细阅读它以查看它是否准确。 您可以选择接受插入,或选择放弃插入。 如果接受插入,则可以在提交文本之前编辑文本。 准备就绪后,请选择“提交暂存”按钮,或选择提交消息编辑框下方下拉列表中可用的其他提交选项之一。
使用 Visual Studio 2022 版本 17.12 及更高版本,可以通过在 GitHub Copilot 提示中提供其他指导来全局自定义提交消息格式。 若要添加自定义提示说明,请打开 工具>选项>GitHub Copilot,然后在 提交消息自定义说明下,输入提示文本的新增内容。 这些更改会影响每个提交消息。 借助此提示指南,团队可以标准化提交消息格式。
GitHub Copilot 了解“主题”(提交消息的第一行)、“正文”(描述更详细更改的部分)和“页脚”(最后一部分)等术语。 一些示例包括“使用所有小写”、“限制 50 个字符”、“将正文限制为 2 个句子”、“添加包含三个哈希标记的页脚”或“遵循常规提交标准”,该标准引用了广泛使用 常规提交 标准。
注意
阅读有关 GitHub Copilot 如何在 GitHub Copilot 商业隐私声明中保护您数据隐私的信息。