在 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 中的新增功能:还可以通过键入 #
或选择提交消息文本框右下侧的 # 按钮来引用问题或拉取请求。 有关详细信息,请参阅引用问题和拉取请求博客文章。
还原、重置或修改提交
双击“提交”时,Visual Studio 会在单独的工具窗口中打开其详细信息。 在此处可以还原提交、重置(撤消)提交、修改提交消息,或创建提交标记。 在提交中单击已更改的文件时,Visual Studio 将打开该提交及其父级的并排差异视图。
使用 GitHub Copilot 聊天生成提交消息
借助 Visual Studio 2022 版本 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 生成的文本,并将其添加到已拥有的任何内容。 仔细阅读,以查看它是否准确。 可以选择接受插入或取消插入。 如果接受插入,则可以在提交文本之前编辑文本。 准备就绪后,请选择“提交暂存”按钮,或提交消息编辑框下方下拉列表中可用的其他提交选项之一。
注意
阅读 GitHub Copilot 业务隐私声明,了解 GitHub Copilot 如何保护数据的隐私。