VSCode有优秀的git集成,但我找不到一种方法来做部分提交。基本上,我希望能够在我的文件中选择特定的更改,并在不登台的情况下登台整个文件。git CLI、Github原生应用程序和Atom插件支持此功能。

主要是在开票之前确保我没有错过什么。


当前回答

打开Source Control视图,然后单击已更改的文件以打开比较。 选择要演出的台词。 点击“…然后阶段选定范围。

其他回答

打开Source Control视图,然后单击已更改的文件以打开比较。 选择要演出的台词。 点击“…然后阶段选定范围。

⚡用动图总结这篇文章中的所有内容。

确保您在源代码控制视图中使用此特性 选择代码范围 打开编辑器右上角的···(而不是左侧git面板顶部的···) 您也可以按COMMAND(⌘)+ K + COMMAND(⌘)+ S打开键盘快捷键并搜索范围,然后为该操作设置键盘快捷键。

和平!✌️

此选项已移动到调色板:

shift+command+P输入“stage selected ranges”

使用交互式登台。

命令- git add -p <file_name> 这将显示文件,您可以选择在分开更改后提交哪个文件

最初,我概述了可用的方法,但我认为这一点应该放在最上面,因为它是最有用的:

我想出了让它更快的办法

可以看到,主编辑器的命令面板(ctrl + shift + P)显示的“Git: Stage Selected Ranges”与“review changes”界面中的热键相同,但它实际上不起作用。有一段时间,我认为这是一个错误,但它原来是一个可配置的行为:点击设置按钮:

(或者按ctrl + K ctrl + S/file→preferences→键盘快捷键,然后搜索@command:git.stageSelectedRanges)

...你会看到默认情况下"When"表达式是isInDiffEditor,所以它不应该在正常的编辑器中工作。因此,将When表达式更改为空:

或者保留默认的热键组合并在编辑器中使用它(这就是我所做的),或者将它设置为更短的内容(不是双重组合,我也会考虑这个)。利润!

如果有什么不清楚或者你想知道其他的选择,这里

可用方法的初步概述

basic method is to Stage Selected Ranges in the interface for reviewing changes: open Source Control (ctrl + shift + G) select file select lines that should be staged (or put a cursor for a single line or lines before and after deleted bits) open the "..." menu and select "Stage Selected Ranges" on the other hand, you can use hotkeys. Default ones (in v1.56.2) are ctrl + K and then ctrl + alt + S. To set custom key combination, open Keyboard shortcuts (either from File → Preferences or via ctrl + K then ctrl + S) and find stageSelectedRanges (and may be unstageSelectedRanges, revertSelectedRanges) unfortunately, hotkeys mentioned above work only in the "review changes" interface, and you may want to do this in the code editor directly. You can do this via another interface: click the change label: and then the "stage change" button: despite there's no direct hotkeys to stage selected range from code editor, you can go ctrl + shift + P (open Command Palette) and then type "stage s" and choose "Git: Stage Selected Ranges":

此外,在检查要执行的内容时,使用Alt + F5跳转到文件中的下一个更改也很方便。