提交与推送

暂存文件,手动或使用 AI 智能体编写提交信息,只需点击几下即可推送到远程仓库。

当你审查完 diff 并对 AI 智能体所做的修改满意后,就该提交和推送了。本指南将带你完成从暂存到推送到远程仓库的完整工作流。

暂存更改

暂存让你精确选择哪些更改进入本次提交。例如,你可能希望将功能代码与配置更改分开提交。

在 Git 面板中,每个修改过的文件都会显示在 未暂存更改 区域:

  • 勾选复选框 来单独暂存某个文件
  • 点击 Stage All 一次性暂存所有更改的文件
  • 要取消暂存某个文件,取消勾选即可——它会回到未暂存区域

已暂存的文件会移动到侧边栏顶部的 已暂存更改 区域。只有已暂存的文件才会被包含在提交中。

你也可以暂存单个 hunk(文件的某个片段),而不是整个文件。在 diff 视图中,将鼠标悬停在一个 hunk 上,点击出现的 + 按钮即可仅暂存该片段。当一个文件包含两处无关的更改,而你只想先提交其中一处时,这非常有用。

编写提交信息

文件暂存好后,在 Git 面板底部的文本框中输入提交信息。

好的提交信息能让你的历史记录清晰可读——无论是对将来的你自己,还是对项目中的其他人。以下是一些建议:

  • 使用祈使语气——写 Add login form,而不是 Added login formAdding login form
  • 描述改了什么以及为什么——Fix null check in user.tsfix bug 更有用
  • 第一行保持在 72 个字符以内——大多数 git 工具在列表视图中会截断更长的信息
  • 如有需要添加正文——在第一行后按两次 Enter,在下面添加更详细的说明

清晰的提交信息示例:

  • Add email validation to signup form
  • Fix crash when user list is empty
  • Update API base URL for production

让智能体来写

提交摘要中的 sparkle 按钮 会将你的 diff 交给已安装的 AI CLI,并让它生成提交信息。

  • 固定由哪个智能体来编写,或者让 1DevTool 使用你安装的第一个智能体。
  • 选择一种风格:ConventionalPlainGitmoji
  • 如果尚未暂存任何内容,它会退回到工作区 diff——这样你可以在决定暂存什么之前就获得提交信息。

生成结果会以普通可编辑文本的形式进入信息输入框。这只是草稿,不会直接提交。

提交

点击信息输入框下方的 Commit 按钮。已暂存的更改将作为新提交保存到本地 git 历史记录中,已暂存文件区域也会被清空。

该提交现在会出现在你的分支历史中。如果你需要撤销它,在历史视图中右键点击该提交并选择 Undo Commit——这会将更改恢复到你的未暂存文件中,而不会丢失它们。

推送到远程

提交会将更改保存在本地。要将它们发送到 GitHub、GitLab 或其他远程仓库:

  1. 点击 Git 面板工具栏中的 Push 按钮(向上箭头图标)
  2. 如果分支在远程已存在,你的提交会立即被推送到远程
  3. 如果是远程尚不存在的 新分支,点击 Publish Branch——这会在远程创建该分支并推送你的提交

如果需要输入凭据,你可以手动输入,或者切换到 SSH 密钥认证。查看 Git 账户了解如何连接你的 GitHub 账户,以便自动处理凭据。

Git 推送新分支

拉取更改

要从远程拉取更改(例如,当队友推送了某些内容时):

  1. 点击工具栏中的 Pull 按钮(向下箭头图标)
  2. 远程更改会被获取并合并到你的本地分支

如果出现合并冲突,Git 面板会高亮显示冲突文件。逐一打开并解决冲突,然后暂存并提交解决方案。

快速添加 git 的按钮

推送后,你的更改就在远程仓库上了,可供团队成员使用,或准备发起 pull request。Git 面板会显示你的分支已与远程保持同步。