如何在 VSCode 中提交对文件的一些更改,而不是其他文件?
How can I commit some changes to a file, but not others, in VSCode?
VSCode 具有出色的 git 集成,但我找不到进行部分提交的方法。基本上,我希望能够 select 我的文件中的特定更改并在不暂存整个文件的情况下暂存它们。 git CLI、Github 本机应用程序和 Atom 插件支持此功能。
主要是在开票之前确保我没有遗漏任何东西。
打开源代码管理视图,然后单击更改的文件以打开比较。
Select 您要暂存的台词。
单击“...”,然后单击 Stage Selected Ranges
。
此选项已移至调色板:
shift+command+P 并输入 "stage selected ranges"
更新:2017 年 10 月: 在截至 2017 年 10 月的最新 VSCode(版本 1.18)中,您实际上可以非常轻松地安排特定线路,就像您会做的那样使用 git CLI git add -p
。您只需从侧面单击编辑过的行,观察差异并应用或不应用。
⚡ Summing up everything in this post with a gif.
- 确保您在源代码管理视图中才能使用此功能
- Select代码范围
- 打开编辑器右上角的
···
(不是左侧git面板顶部的···
)
- 您也可以按 COMMAND (⌘) + K + COMMAND (⌘) + S 打开键盘快捷键并搜索
range
,然后为此操作设置键盘快捷键。
和平! ✌️
使用交互式舞台。
命令 - git 添加 -p
这将向您显示文件,您可以在分开更改后选择要提交的文件
最初,我概述了可用的方法,但我认为这一点应该放在首位,因为它是最有用的:
我想出什么来让它更快
可以看到,主编辑器的命令面板(ctrl + shift + P
)显示的“Git: Stage Selected Ranges”与“查看更改”界面中的热键相同,但是它实际上不起作用。有一段时间,我认为这是一个错误,但事实证明这是一个可配置的行为:单击设置按钮:
(或者只需转到 ctrl + K ctrl + S
/文件 → 首选项 → 键盘快捷键并搜索 @command:git.stageSelectedRanges
)
...您会看到默认情况下“When”表达式是 isInDiffEditor
,因此它不应该在普通编辑器中工作。因此,将 When 表达式更改为空:
要么保留默认的热键组合并在编辑器中使用它(我就是这么做的),要么将它设置为更短的组合(不是双重组合,我也会考虑这个)。盈利!
如果有什么不清楚或者您想了解其他选项,请点击此处
可用方法的初步概述
基本方法是在界面中暂存选定范围以供查看更改:
- 开放源代码管理 (
ctrl + shift + G
)
- select 文件
- select 行应暂存(或将光标放在删除位前后的单行或多行)
- 打开“...”菜单和select“阶段选定范围”
另一方面,您可以使用热键。默认值(在 v1.56.2 中)是 ctrl + K
,然后是 ctrl + alt + S
。要设置自定义组合键,请打开键盘快捷键(从文件 → 首选项或通过 ctrl + K
然后 ctrl + S
)并找到 stageSelectedRanges
(可能是 unstageSelectedRanges
、revertSelectedRanges
)
不幸的是,上面提到的热键仅在“查看更改”界面中有效,您可能希望直接在代码编辑器中执行此操作。您可以通过另一个界面执行此操作:单击更改标签:
然后是“舞台切换”按钮:
尽管没有直接的 热键 从代码编辑器 进入 selected 范围 ,你可以转到 ctrl + shift + P
(打开命令面板)然后键入“stage s”并选择“Git: Stage Selected Ranges”:
此外,当您查看要暂存的内容时,使用 Alt + F5
跳转到文件中的下一个更改非常方便。
VSCode 具有出色的 git 集成,但我找不到进行部分提交的方法。基本上,我希望能够 select 我的文件中的特定更改并在不暂存整个文件的情况下暂存它们。 git CLI、Github 本机应用程序和 Atom 插件支持此功能。
主要是在开票之前确保我没有遗漏任何东西。
打开源代码管理视图,然后单击更改的文件以打开比较。
Select 您要暂存的台词。
单击“...”,然后单击
Stage Selected Ranges
。
此选项已移至调色板:
shift+command+P 并输入 "stage selected ranges"
更新:2017 年 10 月: 在截至 2017 年 10 月的最新 VSCode(版本 1.18)中,您实际上可以非常轻松地安排特定线路,就像您会做的那样使用 git CLI git add -p
。您只需从侧面单击编辑过的行,观察差异并应用或不应用。
⚡ Summing up everything in this post with a gif.
- 确保您在源代码管理视图中才能使用此功能
- Select代码范围
- 打开编辑器右上角的
···
(不是左侧git面板顶部的···
) - 您也可以按 COMMAND (⌘) + K + COMMAND (⌘) + S 打开键盘快捷键并搜索
range
,然后为此操作设置键盘快捷键。
和平! ✌️
使用交互式舞台。
命令 - git 添加 -p
最初,我概述了可用的方法,但我认为这一点应该放在首位,因为它是最有用的:
我想出什么来让它更快
可以看到,主编辑器的命令面板(ctrl + shift + P
)显示的“Git: Stage Selected Ranges”与“查看更改”界面中的热键相同,但是它实际上不起作用。有一段时间,我认为这是一个错误,但事实证明这是一个可配置的行为:单击设置按钮:
(或者只需转到 ctrl + K ctrl + S
/文件 → 首选项 → 键盘快捷键并搜索 @command:git.stageSelectedRanges
)
...您会看到默认情况下“When”表达式是 isInDiffEditor
,因此它不应该在普通编辑器中工作。因此,将 When 表达式更改为空:
要么保留默认的热键组合并在编辑器中使用它(我就是这么做的),要么将它设置为更短的组合(不是双重组合,我也会考虑这个)。盈利!
如果有什么不清楚或者您想了解其他选项,请点击此处
可用方法的初步概述
基本方法是在界面中暂存选定范围以供查看更改:
- 开放源代码管理 (
ctrl + shift + G
) - select 文件
- select 行应暂存(或将光标放在删除位前后的单行或多行)
- 打开“...”菜单和select“阶段选定范围”
- 开放源代码管理 (
另一方面,您可以使用热键。默认值(在 v1.56.2 中)是
ctrl + K
,然后是ctrl + alt + S
。要设置自定义组合键,请打开键盘快捷键(从文件 → 首选项或通过ctrl + K
然后ctrl + S
)并找到stageSelectedRanges
(可能是unstageSelectedRanges
、revertSelectedRanges
)不幸的是,上面提到的热键仅在“查看更改”界面中有效,您可能希望直接在代码编辑器中执行此操作。您可以通过另一个界面执行此操作:单击更改标签:
然后是“舞台切换”按钮:
尽管没有直接的 热键 从代码编辑器 进入 selected 范围 ,你可以转到
ctrl + shift + P
(打开命令面板)然后键入“stage s”并选择“Git: Stage Selected Ranges”:
此外,当您查看要暂存的内容时,使用 Alt + F5
跳转到文件中的下一个更改非常方便。