将文件添加到 Git 并跟踪更改
将文件添加到 Git
打开 Commit 工具窗口 Alt+0。
按 Ctrl+Alt+A 或从上下文菜单中选择 添加到 VCS ,将 未版本化文件 修改列表中的任何文件置于版本控制下。 您可以添加整个变更列表或选择单独的文件。
如果您已为项目启用了 Git 集成,DataSpell 会建议将每个新创建的文件添加到版本控制中。 您可以在 设置 对话框 Ctrl+Alt+S 中的 下更改此行为。 如果您希望某些文件始终保持未版本化,您可以配置 Git 忽略它们。
检查项目文件状态
DataSpell 允许您检查本地工作副本与仓库中项目版本的状态。 它让您看到哪些文件被修改了,哪些新文件已被添加到 Git,以及哪些文件未被 Git 跟踪。
打开 Commit 工具窗口 Alt+0。

Changes 变更列表显示自您上次与远程仓库同步以来所有被修改的文件(用蓝色突出显示),以及所有已添加到 Git 但尚未提交的新文件(用绿色突出显示)。
未版本化文件 变更列表显示已添加到项目中的所有文件,但这些文件未被 Git 跟踪。
在编辑器中跟踪文件的更改
您还可以在编辑器中修改文件时跟踪更改。 所有更改都用 更改标记突出显示,这些标记会出现在修改行旁边的装订区域,并显示自您上次 与存储库同步以来引入的更改类型。 当您提交更改到存储库时,更改标记将消失。
您对文本进行的更改采用颜色编码:

下表列出了在某些 color schemes中默认的行高亮颜色及其含义。
颜色 | 行状态 | 描述 |
|---|---|---|
| 修改行 | 自上次更新以来已修改的行。 |
| 空白修改的行 | 自上次更新以来仅修改了空白的行。 |
| 新增的行 | 自上次更新以来添加的行。 |
| 已删除的行 | 自上次更新以来被删除的行。 |
颜色 | 行状态 | 描述 |
|---|---|---|
| 修改行 | 自上次更新以来已修改的行。 |
| 空白修改的行 | 自上次更新以来仅修改了空白的行。 |
| 新增的行 | 自上次更新以来添加的行。 |
| 已删除的行 | 自上次更新以来被删除的行。 |
颜色 | 行状态 | 描述 |
|---|---|---|
| 修改行 | 自上次更新以来已修改的行。 |
| 空白修改的行 | 自上次更新以来仅修改了空白的行。 |
| 新增的行 | 自上次更新以来添加的行。 |
| 已删除的行 | 自上次更新以来被删除的行。 |
当您将光标悬停在更改标记上并点击它时,可以使用出现的工具栏来管理更改。 工具栏与显示被修改行先前内容的框架一起显示:

您可以通过点击 撤销更改,并通过点击
探索当前行与存储库版本之间的差异。
与其恢复整个文件,您可以复制此弹出窗口中内容的任何部分并将其粘贴到编辑器中。
检查文件状态
DataSpell 允许您检查项目文件相对于仓库的状态。 文件状态显示自您上次与存储库同步以来对文件执行了哪些操作。
您可以通过用于突出显示文件名的颜色检查任何界面元素(例如编辑器或工具窗口)中的文件状态。
您可以在 Colors and Fonts设置页面自定义文件状态的默认颜色。
您可以在 版本控制 | 文件状态颜色 设置页面  Ctrl+Alt+S 上配置 VCS 文件状态颜色。
下表列出了在部分 配色方案中的默认文件状态颜色及其含义。
颜色 | 文件状态 | 描述 |
|---|---|---|
| 已添加 | 处于活动 changelist 中的文件已计划添加到存储库。 |
| 在非活动更改列表中添加 | 该文件在未激活的变更列表中已安排添加到存储库。 若在 突出显示未激活变更列表中的文件 选项中启用了 ,则文件状态可用。 |
| 更改列表冲突 | 在非活动更改列表中的文件已在活动更改列表中被修改。 在这种情况下,将会打开一个新的对话框,提示您解决 changelist conflict。 如果在 中启用所有选项,则此文件状态可用。 |
| 已复制 | 如果文件是另一文件的副本,则会跟踪其元数据,并将此类文件标记为 已复制。 |
| 已删除 | 该文件已被安排从存储库中删除。 |
| 从文件系统中删除 | 该文件已在本地删除,但尚未被安排删除,且仍然存在于存储库中。 |
| 有已更改的后代 | 如果文件被修改,IDE 将递归高亮包含该文件的所有目录。 如果在 高亮显示项目树中包含已修改文件的目录 选项在 中启用,则此状态可用。 |
| 有立即更改的子项 | 如果文件被修改,IDE 将突出显示其父目录。 如果在 高亮显示项目树中包含已修改文件的目录 选项在 中启用,则此状态可用。 |
| 劫持 | [Perforce,ClearCase,VSS] 文件 未签出已被修改。 |
| 已忽略 | 文件被故意排除在 VCS 跟踪之外。 |
| 已合并 | “文件已被您的 VCS 因更新而合并。” |
| 合并时发生冲突 | 在上次更新期间,文件已合并并存在冲突。 |
| 合并时发生属性冲突 | 在上次更新期间,IDE 检测到本地文件与其服务器版本的属性之间存在差异。 |
| 合并时发生文本和属性冲突 | 当两个或多个开发人员修改文件的相同行和相同的文件属性时,就会发生文本和属性冲突。 |
| 已修改 | 该文件自上次同步以来已更改。 |
| 在非活动更改列表中修改 | 已修改的文件处于非活动变更列表中。 若在 突出显示未激活变更列表中的文件 选项中启用了 ,则文件状态可用。 |
| 已过时 | 该文件不应再位于您的仓库工作副本中。 |
| 已重命名 | 自上次更新以来,该文件已重命名。 |
| 已切换 | [SVN] 该文件来自与整个项目不同的分支。 |
| (未知)无版本 | 该文件在本地存在,但不在代码库中,也未被安排添加。 |
| 最新 | 该文件未被更改。 |
颜色 | 文件状态 | 描述 |
|---|---|---|
| 已添加 | 处于活动 changelist 中的文件已计划添加到存储库。 |
| 在非活动更改列表中添加 | 该文件在未激活的变更列表中已安排添加到存储库。 若在 突出显示未激活变更列表中的文件 选项中启用了 ,则文件状态可用。 |
| 更改列表冲突 | 在非活动更改列表中的文件已在活动更改列表中被修改。 在这种情况下,将会打开一个新的对话框,提示您解决 changelist conflict。 如果在 中启用所有选项,则此文件状态可用。 |
| 已复制 | 如果文件是另一文件的副本,则会跟踪其元数据,并将此类文件标记为 已复制。 |
| 已删除 | 该文件已被安排从存储库中删除。 |
| 从文件系统中删除 | 该文件已在本地删除,但尚未被安排删除,且仍然存在于存储库中。 |
| 有已更改的后代 | 如果文件被修改,IDE 将递归高亮包含该文件的所有目录。 如果在 高亮显示项目树中包含已修改文件的目录 选项在 中启用,则此状态可用。 |
| 有立即更改的子项 | 如果文件被修改,IDE 将突出显示其父目录。 如果在 高亮显示项目树中包含已修改文件的目录 选项在 中启用,则此状态可用。 |
| 劫持 | [Perforce,ClearCase,VSS] 文件 未签出已被修改。 |
| 已忽略 | 文件被故意排除在 VCS 跟踪之外。 |
| 已合并 | “文件已被您的 VCS 因更新而合并。” |
| 合并时发生冲突 | 在上次更新期间,文件已合并并存在冲突。 |
| 合并时发生属性冲突 | 在上次更新期间,IDE 检测到本地文件与其服务器版本的属性之间存在差异。 |
| 合并时发生文本和属性冲突 | 当两个或多个开发人员修改文件的相同行和相同的文件属性时,就会发生文本和属性冲突。 |
| 已修改 | 该文件自上次同步以来已更改。 |
| 在非活动更改列表中修改 | 已修改的文件处于非活动变更列表中。 若在 突出显示未激活变更列表中的文件 选项中启用了 ,则文件状态可用。 |
| 已过时 | 该文件不应再位于您的仓库工作副本中。 |
| 已重命名 | 自上次更新以来,该文件已重命名。 |
| 已切换 | [SVN] 该文件来自与整个项目不同的分支。 |
| (未知)无版本 | 该文件在本地存在,但不在代码库中,也未被安排添加。 |
| 最新 | 该文件未被更改。 |
颜色 | 文件状态 | 描述 |
|---|---|---|
| 已添加 | 处于活动 changelist 中的文件已计划添加到存储库。 |
| 在非活动更改列表中添加 | 该文件在未激活的变更列表中已安排添加到存储库。 若在 突出显示未激活变更列表中的文件 选项中启用了 ,则文件状态可用。 |
| 更改列表冲突 | 在非活动更改列表中的文件已在活动更改列表中被修改。 在这种情况下,将会打开一个新的对话框,提示您解决 changelist conflict。 如果在 中启用所有选项,则此文件状态可用。 |
| 已复制 | 如果文件是另一文件的副本,则会跟踪其元数据,并将此类文件标记为 已复制。 |
| 已删除 | 该文件已被安排从存储库中删除。 |
| 从文件系统中删除 | 该文件已在本地删除,但尚未被安排删除,且仍然存在于存储库中。 |
| 有已更改的后代 | 如果文件被修改,IDE 将递归高亮包含该文件的所有目录。 如果在 高亮显示项目树中包含已修改文件的目录 选项在 中启用,则此状态可用。 |
| 有立即更改的子项 | 如果文件被修改,IDE 将突出显示其父目录。 如果在 高亮显示项目树中包含已修改文件的目录 选项在 中启用,则此状态可用。 |
| 劫持 | [Perforce,ClearCase,VSS] 文件 未签出已被修改。 |
| 已忽略 | 文件被故意排除在 VCS 跟踪之外。 |
| 已合并 | “文件已被您的 VCS 因更新而合并。” |
| 合并时发生冲突 | 在上次更新期间,文件已合并并存在冲突。 |
| 合并时发生属性冲突 | 在上次更新期间,IDE 检测到本地文件与其服务器版本的属性之间存在差异。 |
| 合并时发生文本和属性冲突 | 当两个或多个开发人员修改文件的相同行和相同的文件属性时,就会发生文本和属性冲突。 |
| 已修改 | 该文件自上次同步以来已更改。 |
| 在非活动更改列表中修改 | 已修改的文件处于非活动变更列表中。 若在 突出显示未激活变更列表中的文件 选项中启用了 ,则文件状态可用。 |
| 已过时 | 该文件不应再位于您的仓库工作副本中。 |
| 已重命名 | 自上次更新以来,该文件已重命名。 |
| 已切换 | [SVN] 该文件来自与整个项目不同的分支。 |
| (未知)无版本 | 该文件在本地存在,但不在代码库中,也未被安排添加。 |
| 最新 | 该文件未被更改。 |
从仓库中删除文件
如果您删除了一个处于版本控制之下的文件,它仍然存在于存储库中,直到您提交更改。 删除的文件将被放置在活动变更列表中,并以灰色高亮显示。
在 工作区 工具窗口 Alt+1 中选择一个文件,然后按 Delete 或从上下文菜单中选择 删除。
在打开的对话框中,您可以选择是否想删除这个文件而不搜索用法,或者通过勾选 安全删除 选项执行 安全删除 (以确保您正在删除一个未使用的文件)。
如果找到任何用法,“ 检测到的用法 ”对话框将弹出并列出它们。 您可以查看这些用法并在删除此文件之前移除对它的引用。
将更改提交到仓库。