WebStorm 2025.2 Help

提交并推送更改至 Git 仓库

将新文件添加到 Git 仓库或修改已在 Git 版本控制下的文件之后,如果您对其当前状态满意,便可共享您的工作成果。 这包括先在本地 提交这些更改,以便将仓库的快照记录到项目历史中,然后 推送到远程仓库,从而使其他人也可以访问这些更改。

设置您的 Git 用户名

Git 需要知道您的用户名,以便将提交与身份关联。 如果尚未设置用户名,WebStorm 会在您首次尝试提交更改时提示您指定用户名。

  • 打开 终端并执行以下任一命令:

    • 要为您计算机上的所有 Git 仓库设置用户名,请使用 $ git config --global user.name "John Smith"

    • 要为单个仓库设置用户名,请使用 $ git config user.name "John Smith"

本地提交更改

  1. 打开位于左侧的垂直选项卡 提交 工具窗口 Alt+0

    提交工具窗口
  2. 准备好提交更改后,选择相应的文件或整个更改列表。

    如果按下 Ctrl+K ,则将选择整个活动更改列表。

    您也可选择 未进行版本管理的文件 节点下的文件 — WebStorm 将在一个步骤中暂存并提交这些文件。

  3. 如果希望 将本地更改追加到最新的提交而不是创建单独的提交,请选择 修补 选项。

  4. 输入提交消息。 您可以点击 提交消息历史按钮 ,从最近的提交消息列表中进行选择。

    在尚未推送提交之前,您也可以 编辑提交消息

  5. 如果需要执行提交检查、在提交后将文件上传到服务器,或使用高级选项提交,请点击右下角的 齿轮图标 或按下 Ctrl+O

    高级提交选项弹出窗口

    可用的选项如下:

    • 作者 :如果您正在提交其他人所做的更改,可在此指定这些更改的作者。

    • 签署提交 :选择该项用于签署提交声明,以确认这些更改是由您完成,或您对所提交代码承担责任。

      启用该选项后,将在提交消息末尾自动添加如下行: Signed off by: <username>

    • 提交检查 区域,选择要在将所选文件提交到本地仓库之前由 WebStorm 执行的操作。

      可用的选项如下:

      • 重新格式化代码 :依据 项目代码样式设置进行代码格式化。

      • 重新排列代码 :依据 排列规则偏好重新排列代码。

      • 优化导入 :移除冗余的 import 语句。

      • 清理 :从代码清理检查中批量应用快速修复。 点击 选择配置方案 选择一个 IDE 将用于运行检查的 配置文件

      • 更新版权信息 :根据所选的版权配置文件 - 范围组合 添加或更新版权声明

    • 高级提交检查 区域中,提供以下选项:

      • 提交完成后运行高级检查 :启用此选项可在提交完成 之后运行所选的高级提交检查。

        启用此选项后,即使某些高级提交检查未通过,修改也仍将被提交。

      • 分析代码(A) :提交过程中分析已修改的文件。 单击 选择配置方案 以选择 IDE 将运行检查所使用的 检查配置文件

      • 检查 TODO :查看与指定筛选器匹配的 TODO 条目。 单击 配置 选择一个 已有 TODO 筛选器 ,或打开 TODO 设置页面以定义并应用新筛选器。

      • Run Tests将测试作为提交检查执行。 在 Run Tests 附近单击 选择配置 ,然后选择要运行的配置。

    • 提交后 区域,您可以选择用于将已提交文件上传到本地主机、远程主机、挂载磁盘或目录的 服务器访问配置服务器组。 有关更多信息,请参见 部署您的应用

      可使用以下选项:

      • 上传文件至 :选择用于将已提交文件上传到本地主机、远程主机、挂载磁盘或目录的 服务器访问配置服务器组

        • 要禁止上传,请选择

        • 要将服务器配置添加到列表中,请单击 浏览按钮 ,在打开的 部署 对话框中填写所需字段。

        仅在启用 FTP/SFTP/WebDAV 连接 插件时才可使用该列表。

      • 始终使用所选服务器或服务器组 :始终将文件上传到选定的 服务器服务器组

        仅在启用 FTP/SFTP/WebDAV 连接 插件时才可使用该复选框。

  6. 准备就绪后,单击 提交提交并推送Ctrl+Alt+K ),即可在提交完成后立即将更改推送到远程版本库。 您可以在推送前审查当前提交以及所有其他提交。

提交文件的部分更改

有时,当您进行与特定任务相关的更改时,也会应用影响同一文件的其他无关代码修改。 将所有此类更改包含在一个提交中可能不是一个好主意,因为这会使审查、 revertcherry-pick等操作变得更加困难。

WebStorm 允许您通过以下方式之一分别提交这些更改:

选择要提交的代码块和具体行

  1. 打开 提交 工具窗口 Alt+0

  2. 要显示所选文件的本地版本与版本库版本之间的差异,在 提交 工具窗口 Alt+0 中,点击工具栏上的 Diff 图标 或按下 Ctrl+D

  3. 选中您希望提交的每个修改或新增的代码块旁边的复选框,未选中的更改将不会提交:

    WebStorm:部分提交对话框
  4. 如果只想从某个块中提交特定行,请右键点击要包含的那一行并选择 拆分区块并将所选行包含到提交中

    WebStorm:右键菜单中包含当前行到提交中的选项

    或者,将鼠标悬停在边栏上,选择或清除要包含或排除在提交之外的行旁边的复选框。

  5. 点击 提交。 未选中的更改将保留在当前更改列表中,以便您单独提交这些更改。

从编辑器提交选中的更改

如果您已经提交了更改,然后意识到忘记了一些内容,您可以直接在编辑器中快速提交更新。

  1. 在编辑器中对文件进行更改时,点击边栏中相应的 更改标记

  2. 在显示的工具栏中,输入提交消息并点击 提交此更改

    内联提交字段

    在提交消息字段中点击 修补 ,可将本地更改追加到最新的提交中。

将更改分配至不同的更改列表

  1. 在编辑器中对文件进行更改时,点击边栏中相应的 更改标记

  2. 在显示的工具栏中,为修改的代码块选择目标更改列表(或创建一个新的更改列表):

    部分提交更改列表
  3. 分别提交每个更改列表。

自定义本地更改的审查方式

WebStorm 提供了多种设置,帮助您自定义在提交前审查本地更改的工作流。

自定义提交工具窗口

可以根据您的工作流程偏好更改 提交 工具窗口 Alt+0 的位置和行为。

  • 提交界面可以作为一个独立窗口打开,外观类似对话框,但仍是非阻塞(非模态)的。

    提交 工具窗口 Alt+0 中,单击 选项 并选择 查看模式 | 窗口。 要始终将窗口置于 IDE 之上,请选择 查看模式 | 浮动

  • 您可以将 提交 工具窗口设置为本地更改列表窗口,并在准备提交更改时打开提交控制(使用 提交Ctrl+K)。

    设置 | 高级设置 | 版本控制 中,选中 切换提交控件 复选框。

  • 提交 工具窗口可以变为 本地更改 选项卡,位于 Git 工具窗口的 日志 选项卡中 Alt+9

    设置 | 高级设置 | 版本控制 中,取消选中 启用“提交”工具窗口 复选框。

自定义 Diff 查看器的行为

  1. 提交 工具窗口 Alt+0 中,列出了已更改的文件。 双击更改的文件可以打开 Diff Viewer 或源文件。

    单击 选项 ,选择 双击时显示 ,然后选择偏好的选项:

    • 差异 以便在双击更改的文件时始终打开 Diff Viewer,从而查看更改内容。

    • 源代码 以便始终打开文件本身以进行编辑。

  2. 您还可以通过以下设置将 Diff Viewer 配置为在编辑器或单独窗口中打开:

    • 在 Diff Viewer 中,单击工具栏上的 设置 并选择 在单独的窗口中显示差异

    • 设置 | 高级设置 | 版本控制 中,取消选中 作为编辑器标签页打开差异 复选框。

使用 Git 暂存区提交更改

如果您更习惯于使用 staging 更改进行提交,而不是使用自动暂存修改文件的 changelists ,请按 Ctrl+Alt+S 打开设置并选择 版本控制 | Git ,然后选中 启用暂存区域 复选框。

启用暂存区

提交 工具窗口现在将如下所示:

Git 暂存区

使用 staging 区域,您可以轻松将对同一文件的更改(包括重叠更改)分开提交,并在不中断编辑器焦点的情况下查看哪些更改已暂存。

暂存要提交的更改

  1. 请执行以下任一操作:

    • 要将整个文件暂存,在 提交 工具窗口 Alt+0 中,选择该文件并单击其右侧的 添加按钮 ,或按 Ctrl+Alt+A

      在提交工具窗口中暂存整个文件
    • 要暂存文件中的特定代码块,请在编辑器中单击修改代码块旁边边距处的 更改标记 ,然后单击 暂存

      从编辑器暂存变更

      已暂存的更改(包括从 WebStorm 外部暂存的更改)会在编辑器中以空心更改标记表示:

      表示已暂存更改的侧边标记
    • 要将粒度更高的更改(如单行)而不是整个代码块暂存,或者暂存对同一行的多个更改中的某一个,在 提交 工具窗口 Alt+0 中,选择包含更改的文件并从上下文菜单中选择 比较HEAD 版本、暂存版本和本地版本

      交互式暂存更改:打开 Diff 查看器

      将打开一个三方 Diff Viewer ,左侧窗格显示版本库版本,右侧窗格显示本地版本,中央窗格为功能完整的编辑器,您可以在其中进行要暂存的更改。

      交互式暂存更改
  2. 准备就绪后,请按照 本地提交更改 中所述提交更改。

推送更改至远程仓库

在推送更改前,请先 与远程同步 ,确保您的本地版本库副本是最新的,以避免冲突。

WebStorm 允许您将任何分支的更改上传到其 跟踪分支 或任何其他远程分支。

  1. 请执行以下任一操作:

    • 要从 当前分支 推送更改,请按 Ctrl+Shift+K 或从主菜单中选择 Git | 推送

    • 要从拥有远程的任何本地分支推送更改,请在 分支 弹窗中选择该分支,并从操作列表中选择 推送

    推送提交对话框 将打开,显示所有 Git 版本库(适用于多版本库项目),并列出自上次推送以来每个版本库中当前分支所做的所有提交。

    如果项目使用多个未同步控制的版本库,默认只会选择当前版本库(如需启用同步控制,请参阅 版本控制设置:Git)。

  2. 如果版本库中没有远程仓库,则会显示 定义远程 链接。 单击此链接,并在打开的对话框中指定远程名称和 URL。 远程地址将被保存,您可以稍后通过 Git | 管理远程 进行编辑(更多信息请参阅 添加远程版本库)。

  3. 如果您希望修改要推送的目标分支,可以单击分支名称。 标签将变为一个文本字段,您可以在其中输入现有分支名称或创建新分支。 您还可以单击右下角的 编辑所有目标 链接,以同时编辑所有分支名称。

    请注意,您无法更改本地分支:将推送每个选定版本库的当前分支。

  4. 如果您有一些已提交但暂不希望推送至远程分支的提交,请在 日志 选项卡中的 Git 工具窗口中选择您希望推送的最后一个提交,并在操作列表中选择 推送此前所有提交… 选项。

    推送提交 对话框将打开,显示直到所选提交哈希值为止的所有提交记录。

  5. 如果您希望在推送前预览更改,请选择所需提交。 右侧窗格显示所选提交中包含的更改。 您可以使用工具栏按钮检查提交详细信息。

    如果某次提交的作者与当前用户不同,则该提交会以星号标记。

  6. 准备就绪后,单击 推送 按钮,并从下拉菜单中选择要执行的操作: 推送强制推送 (相当于 push --force-with-lease)。

    仅当当前分支未在 受保护分支 字段中列出时(请参阅 版本控制设置:Git ),这些选项才可用,否则只能执行 push 操作。

推送被拒绝时更新您的工作副本

如果由于您的工作副本已过期而导致 推送 被拒绝,则 WebStorm 将显示 推送被拒 对话框,前提是在 Git 设置页的 设置 对话框中未选中 如果当前分支的推送被拒,则自动更新 选项。 请执行以下操作:

  1. 如果您的项目使用多个 Git 仓库,请指定您要更新哪些仓库。 如果希望更新所有存储库,无论是否存在被拒绝的 推送 ,请选择 更新所有版本库 选项。 如果未选中此选项,则只会更新受影响的存储库。

  2. 如果希望在下次推送操作被拒绝时,WebStorm 使用您在此对话框中选择的更新方法自动静默执行更新过程,请选中 记住更新方式选择并在未来自动更新 选项。

    关闭此对话框后, 如果当前分支的推送被拒,则自动更新 复选框将在 Git 设置页的 设置 对话框中被选中,所应用的更新方法将成为默认方法。

    如需更改更新策略,请取消选中该选项,以便在当前分支推送被拒绝时调用 推送被拒 对话框,应用不同的更新过程,然后再次选中 记住更新方式选择 选项。

  3. 请分别单击 变基合并 按钮选择更新方法。

何时需要使用强制推送?

当您运行 推送 时,如果远程存储库中存在您本地副本缺失且将被覆盖的更改,Git 将拒绝完成操作。 通常,您需要执行 pull 来与远程存储库同步,然后再使用您的更改更新远程存储库。

--force push 命令会禁用此检查,并允许您覆盖远程存储库,从而清除其历史记录并导致数据丢失。 在后台,当您选择强制推送时,WebStorm 执行的是 push --force-with-lease 操作,这是一种更安全的选项,有助于确保不覆盖他人的提交(有关推送选项的详细信息,请参阅 git push)。

一种可能需要执行 --force push 的情况是,在您变基了已推送的分支之后,想要将其再次推送到远程服务器。 在这种情况下,当您尝试推送时,Git 会拒绝您的更改,因为远程引用不是本地引用的祖先。 如果在这种情况下执行 拉取 ,将会产生分支的两个副本,随后需要合并。

最后修改日期: 2025年 9月 26日