将文件添加到 Git 并跟踪更改
将文件添加到 Git
打开 提交 工具窗口 Alt+0。
通过按 Ctrl+Alt+A 或从上下文菜单中选择 添加到 VCS ,即可将 未受版本控制的文件 更改列表中的任何文件纳入版本控制。 您可以添加整个更改列表,也可以选择单个文件。
如果已为项目启用 Git 集成,WebStorm 会建议将每个新创建的文件纳入版本控制。 您可以在 设置 对话框的 下,通过 Ctrl+Alt+S 修改此行为。 如果希望某些文件始终不受版本控制,您可以配置 Git 忽略这些文件。
.idea 目录中的所有设置文件都应 纳入版本控制 ,但 workspace.xml 除外,该文件用于存储您的本地偏好设置。 workspace.xml 文件应 标记为被 VCS 忽略。
检查项目文件状态
WebStorm 允许您检查本地工作副本相对于项目存储库版本的状态。 您可以查看哪些文件被修改、哪些新文件已添加到 Git,以及哪些文件尚未被 Git 跟踪。
打开 提交 工具窗口 Alt+0。

更改 更改列表显示自上次与远程存储库同步以来已被修改(蓝色高亮)以及已添加到 Git 但尚未提交(绿色高亮)的所有文件。
未受版本控制的文件 更改列表显示已添加到项目中但尚未被 Git 跟踪的所有文件。
您可以直接在 本地更改 标签页的 版本控制 工具窗口中执行部署任务,例如 上传文件和文件夹或 与已部署版本进行比较。 为此,请右键点击一个项,然后从上下文菜单中选择 部署。 然后从子菜单中选择所需操作。
在编辑器中跟踪文件的更改
您还可以在编辑器中修改文件时跟踪其更改。 所有更改都会以 更改标记形式高亮显示,出现在修改行旁的标尺中,并显示自上次 与存储库同步以来引入的更改类型。 当您将更改提交到存储库后,更改标记会消失。
您在文本中引入的更改会通过颜色编码显示:

下表列出了某些 配色方案中默认的行高亮颜色及其含义。
颜色 | 行状态 | 说明 |
|---|---|---|
| 修改的行 | 自上次更新以来被修改的行。 |
| 仅空格被修改的行 | 自上次更新以来,仅空格被修改的行。 |
| 新增的行 | 自上次更新以来被新增的行。 |
| 已删除的行 | 自上次更新以来被删除的行。 |
颜色 | 行状态 | 说明 |
|---|---|---|
| 修改的行 | 自上次更新以来被修改的行。 |
| 仅空格被修改的行 | 自上次更新以来,仅空格被修改的行。 |
| 新增的行 | 自上次更新以来被新增的行。 |
| 已删除的行 | 自上次更新以来被移除的行。 |
颜色 | 行状态 | 说明 |
|---|---|---|
| 已修改的行 | 自上次更新以来已被修改的行。 |
| 仅空格被修改的行 | 自上次更新以来仅修改了空格的行。 |
| 已添加的行 | 自上次更新以来新增的行。 |
| 已删除的行 | 自上次更新以来被移除的行。 |
将鼠标悬停在更改标记上并单击后会显示工具栏,您可以使用该工具栏管理更改。 工具栏将与一个显示被修改行原始内容的框架一起显示:

您可以通过单击 回滚更改,并通过单击
查看当前行与存储库版本之间的差异。
与其回滚整个文件,您也可以复制此弹出窗口中的任意部分内容并粘贴到编辑器中。
检查文件状态
WebStorm 可让您检查项目文件相对于存储库的状态。 文件状态显示了自上次与存储库同步以来对该文件执行过哪些操作。
您可以通过用于高亮显示文件名的颜色,在任一界面元素(例如编辑器或工具窗口)中检查文件状态。
您可以在 颜色和字体设置页面自定义文件状态的默认颜色。
您可以在 版本控制 | 文件状态颜色 设置页面 Ctrl+Alt+S 配置 VCS 文件状态颜色。
下表列出了某些 配色方案中默认文件状态颜色及其含义。
颜色 | 文件状态 | 说明 |
|---|---|---|
| 已添加 | 活动 变更列表中的文件已计划添加到存储库。 |
| 在非活动变更列表中添加 | 非活动更改列表中的文件计划添加到存储库。 启用 高亮显示非活动变更列表中的文件 中的 选项后,将提供此文件状态。 |
| 变更列表冲突 | 非活动更改列表中的文件已在活动更改列表中被修改。 在此情况下,将打开新对话框提示您解决 变更列表冲突。 启用 中的所有选项后,将提供此文件状态。 |
| 复制 | 如果某文件是其他文件的副本,其元数据将被跟踪,并将此类文件标记为 已复制。 |
| 已删除 | 该文件已被计划从存储库中删除。 |
| 从文件系统中删除 | 文件已在本地删除,但尚未计划删除,在存储库中仍然存在。 |
| 包含已更改的子项 | 如果某个文件被修改,IDE 将递归高亮显示所有包含该文件的目录。 启用 在项目树中高亮显示包含已修改文件的目录 中的 选项后,将提供此状态。 |
| 包含已更改的直接子项 | 如果某个文件被修改,IDE 将高亮显示其父目录。 启用 在项目树中高亮显示包含已修改文件的目录 中的 选项后,将提供此状态。 |
| 强占 | [Perforce、ClearCase、VSS] 文件为 未签出即被修改。 |
| 已忽略 | 文件已被故意从 VCS 跟踪中排除。 |
| 合并 | 该文件已在执行更新后由 VCS 合并。 |
| 合并时存在冲突 | 在上次更新期间,该文件被合并时存在冲突。 |
| 合并时存在属性冲突 | 在上次更新期间,IDE 检测到本地文件与其服务器版本的属性之间存在差异。 |
| 合并时存在文本和属性冲突 | 当两个或更多开发人员修改了文件的相同行和相同的文件属性时,会发生文本和属性冲突。 |
| 已修改 | 该文件自上次同步以来已被更改。 |
| 在非活动变更列表中修改 | 非活动更改列表中的文件已被修改。 在启用 高亮显示非活动变更列表中的文件 选项后可使用此文件状态,位置在 。 |
| 已废弃 | 该文件不应再出现在您工作副本的版本库中。 |
| 已重命名 | 自上次更新以来,该文件已被重命名。 |
| 已切换 | [SVN] 该文件来自与整个项目不同的分支。 |
| (未知)未版本控制 | 文件在本地存在,但不在版本库中,且未计划添加。 |
| 最新 | 该文件未发生更改。 |
颜色 | 文件状态 | 描述 |
|---|---|---|
| 已添加 | 活动 变更列表 中的文件计划添加到版本库。 |
| 在非活动变更列表中添加 | 非活动更改列表中的文件计划添加到存储库。 启用 高亮显示非活动变更列表中的文件 选项(位置位于 )后,可使用此文件状态。 |
| 变更列表冲突 | 非活动更改列表中的文件已在活动更改列表中被修改。 在此情况下,将打开一个新对话框,提示您解决 变更列表冲突。 启用 中的所有选项后,可使用此文件状态。 |
| 已复制 | 如果某个文件是另一个文件的副本,其元数据将被跟踪,该文件将标记为 已复制。 |
| 已删除 | 该文件计划从版本库中删除。 |
| 从文件系统中删除 | 文件已在本地删除,但未计划删除,并且在版本库中仍然存在。 |
| 存在已更改的子项 | 如果某个文件被修改,IDE 将递归高亮显示所有包含该文件的目录。 启用 在项目树中高亮显示包含已修改文件的目录 选项后(位置为 ),可使用此状态。 |
| 存在已更改的直接子项 | 如果某个文件被修改,IDE 将高亮显示其父目录。 启用 在项目树中高亮显示包含已修改文件的目录 选项(位置为 )后,可使用此状态。 |
| 已劫持 | [Perforce、ClearCase、VSS] 文件已 在未签出状态下被修改。 |
| 已忽略 | 该文件被 VCS 有意标记为不跟踪。 |
| 已合并 | 该文件由于更新操作已由您的 VCS 合并。 |
| 合并时存在冲突 | 在上次更新期间,文件合并时存在冲突。 |
| 合并时存在属性冲突 | 在上次更新期间,IDE 检测到本地文件与其服务器版本的属性存在差异。 |
| 合并时存在文本与属性冲突 | 当两个或多个开发人员修改同一文件的同一行和相同属性时,会发生文本与属性冲突。 |
| 已修改 | 自上次同步以来,文件已发生更改。 |
| 在非活动变更列表中修改 | 非活动更改列表中的文件已被修改。 仅当在 高亮显示非活动变更列表中的文件 中启用选项后,此文件状态才可用,在 中设置。 |
| 已废弃 | 该文件不应再出现在您的本地版本库副本中。 |
| 已重命名 | 自上次更新以来,该文件已被重命名。 |
| 已切换 | [SVN] 文件来自于与整个项目不同的分支。 |
| (未知)未纳入版本控制 | 该文件在本地存在,但未在版本库中,也未被排入添加计划。 |
| 最新 | 该文件未被更改。 |
颜色 | 文件状态 | 说明 |
|---|---|---|
| 已添加 | 处于活动 changelist 中的文件已被排入添加至版本库的计划。 |
| 在非活动变更列表中添加 | 非活动变更列表中的文件计划添加到版本库。 仅当在 高亮显示非活动变更列表中的文件 中启用选项后,此文件状态才可用,在 中设置。 |
| 变更列表冲突 | 非活动变更列表中的文件已在活动变更列表中被修改。 在此情况下,将打开一个新对话框,提示您解决 变更列表冲突。 仅当在 中启用了所有选项后,此文件状态才可用。 |
| 已复制 | 如果某文件是另一个文件的副本,其元数据将被追踪,该文件将被标记为 已复制。 |
| 已删除 | 该文件已被排入从版本库中删除的计划。 |
| 从文件系统中删除 | 该文件已在本地删除,但未被排入删除计划,且仍存在于版本库中。 |
| 包含已更改的子项 | 如果某个文件被修改,IDE 将递归高亮显示所有包含该文件的目录。 仅当在 在项目树中高亮显示包含已修改文件的目录 中启用选项后,此状态才可用,在 中设置。 |
| 包含已更改的直接子项 | 如果某个文件被修改,IDE 将高亮显示其父目录。 仅当在 在项目树中高亮显示包含已修改文件的目录 中启用选项后,此状态才可用,在 中设置。 |
| 被劫持 | [Perforce、ClearCase、VSS] 文件已 在未签出状态下被修改。 |
| 已忽略 | 文件被版本控制系统刻意标记为不进行跟踪。 |
| 已合并 | 此文件已在更新后由您的版本控制系统合并。 |
| 合并时存在冲突 | 在上次更新过程中,文件在合并时出现冲突。 |
| 合并时存在属性冲突 | 在上次更新过程中,IDE 检测到本地文件与其服务器版本的属性存在差异。 |
| 合并时存在文本和属性冲突 | 当两个或更多开发者修改了文件的相同行和相同的文件属性时,会发生文本和属性冲突。 |
| 已修改 | 自上次同步以来,文件已发生更改。 |
| 在非活动变更列表中已修改 | 非活动更改列表中的文件已被修改。 启用 高亮显示非活动变更列表中的文件 选项并在 中配置后,该文件状态将可用。 |
| 已废弃 | 该文件不应再出现在您的版本库工作副本中。 |
| 已重命名 | 自上次更新以来,该文件已被重命名。 |
| 已切换 | [SVN] 该文件来自与整个项目不同的分支。 |
| (未知)未添加版本控制 | 该文件在本地存在,但尚未加入版本库,也未计划添加。 |
| 已是最新 | 文件未发生更改。 |
从存储库中删除文件
如果您删除了某个受版本控制的文件,在提交更改之前,它仍然存在于版本库中。 被删除的文件将放入活动变更列表中,并以灰色高亮显示。
在 项目 工具窗口 Alt+1 中选择一个文件,按 Delete ,或在上下文菜单中选择 删除。
在打开的对话框中,您可以选择是否在不查找用法的情况下删除该文件,或通过选中 安全删除 选项执行 安全删除 (以确保要删除的文件未被使用)。
如果找到任何引用,将弹出 检测到用法 对话框并列出它们。 您可以查看这些引用,并在删除文件之前移除对它的引用。
将更改提交到版本库。