将文件添加到 Git 并跟踪更改
将文件添加到 Git
打开 提交 工具窗口( )。
按 Ctrl+Alt+A 或从上下文菜单中选择 添加到 VCS ,将 未受版本控制的文件 修改列表中的任何文件置于版本控制下。 您可以添加整个变更列表或选择单独的文件。

如果您已为项目启用了 Git 集成,JetBrains Rider 会建议将每个新创建的文件添加到版本控制中。 您可以在 设置 对话框 Ctrl+Alt+S 中的 下更改此行为。 如果您希望某些文件始终保持未版本化,您可以配置 Git 忽略它们。
.idea 目录中的所有设置文件都应 置于版本控制之下,除了 workspace.xml ,它存储您的本地首选项。 workspace.xml 文件应 被 VCS 标记为忽略。
检查项目文件状态
JetBrains Rider 允许您检查本地工作副本与仓库中项目版本的状态。 它让您看到哪些文件被修改了,哪些新文件已被添加到 Git,以及哪些文件未被 Git 跟踪。
打开 提交 工具窗口( )。

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

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

单击 可回滚更改,单击
可查看当前行与存储库版本之间的差异。
您无需还原整个文件,可以从此弹出窗口复制任意部分的内容并将其粘贴到编辑器中。
检查文件状态
JetBrains Rider 允许您检查项目文件相对于仓库的状态。 文件状态显示自您上次与存储库同步以来对文件执行了哪些操作。
您可以通过用于高亮显示文件名的颜色检查任何界面元素(例如编辑器或工具窗口)中的文件状态。
您可以在 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] 文件来自与整个项目不同的分支。 |
| (未知)无版本 | 该文件在本地存在,但不在代码库中,也未被安排添加。 |
| 最新 | 该文件未被更改。 |
文件成员状态
与文件的 VCS 状态类似,JetBrains Rider 会在 结构窗口 Alt+7 和 文件成员 Ctrl+F12 弹出窗口中高亮显示文件成员的 VCS 状态:

从仓库中删除文件
如果您删除了一个处于版本控制之下的文件,它仍然存在于存储库中,直到您提交更改。 删除的文件将被放置在活动变更列表中,并以灰色高亮显示。
在 资源管理器 工具窗口 (Alt+1) 中选择一个文件,然后按 Delete 或从上下文菜单中选择 Delete。
在打开的对话框中,您可以选择是否想删除这个文件而不搜索用法,或者通过勾选 安全删除 选项执行 安全删除 (以确保您正在删除一个未使用的文件)。
如果找到任何用法,“ 检测到的用法 ”对话框将弹出并列出它们。 您可以查看这些用法并在删除此文件之前移除对它的引用。
将更改提交到仓库。