在 Visual Studio Code 中暂存单个删除的行

问题描述 投票:0回答:3

我正在使用 Visual Studio Code 及其集成版本控制。我想将一组已删除的行拆分为两个不同的提交。

我知道“阶段选择范围”选项,但是,据我所知,我无法选择已删除的行。

有办法实现吗?

谢谢

git visual-studio-code version-control
3个回答
14
投票

恐怕 VS Code 无法实现你想要的功能。

这不是 VS Code 问题,而是

git
问题。
git
告诉 VS Code 将这些连续的更改视为一个整体,因此,如果
git
无法拆分它,那么 VS Code 也不能。

尝试在命令行上运行

git add -p
,您可能会发现
git
将这些更改视为一大块,因为它们彼此非常接近。尝试在
s
提示符上传递
git add -p
,如果提示“抱歉,无法拆分此块”,则 VS Code 也不能。

我认为唯一的方法是使用

git
手动编辑补丁文件。
请参阅:我可以用 git 拆分已经拆分的块吗?

有人请求 VS Code 支持这样的补丁文件编辑:https://github.com/Microsoft/vscode/issues/69891,得到的答复是:

我们努力保持 VS Code 的简洁性,并且我们认为您所需要的功能 对于 VS Code 扩展来说,要求是很好的。也许您已经可以在 VS Code Marketplace 中找到适合您的一款。

AFAIK,唯一与补丁相关的扩展是 Git Patch。它允许您从暂存/未暂存的更改创建补丁,但不允许您选择将哪些更改添加到补丁中。您必须手动编辑补丁,放弃更改,然后一一应用补丁。这与执行

git add -p
然后通过
e
几乎相同。


2
投票

Ctrl+K 然后 Ctrl+Alt+S (VSCode 1.75.0)


0
投票

刚刚发现这个问题,似乎可以通过选择它之前和之后的部分来暂存选定的行!

© www.soinside.com 2019 - 2024. All rights reserved.