我正在使用 Visual Studio Code 及其集成版本控制。我想将一组已删除的行拆分为两个不同的提交。
我知道“阶段选择范围”选项,但是,据我所知,我无法选择已删除的行。
有办法实现吗?
谢谢
恐怕 VS Code 无法实现你想要的功能。
这不是 VS Code 问题,而是
git
问题。 git
告诉 VS Code 将这些连续的更改视为一个整体,因此,如果 git
无法拆分它,那么 VS Code 也不能。
尝试在命令行上运行
git add -p
,您可能会发现 git
将这些更改视为一大块,因为它们彼此非常接近。尝试在 s
提示符上传递 git add -p
,如果提示“抱歉,无法拆分此块”,则 VS Code 也不能。
我认为唯一的方法是使用
git
手动编辑补丁文件。有人请求 VS Code 支持这样的补丁文件编辑:https://github.com/Microsoft/vscode/issues/69891,得到的答复是:
我们努力保持 VS Code 的简洁性,并且我们认为您所需要的功能 对于 VS Code 扩展来说,要求是很好的。也许您已经可以在 VS Code Marketplace 中找到适合您的一款。
AFAIK,唯一与补丁相关的扩展是 Git Patch。它允许您从暂存/未暂存的更改创建补丁,但不允许您选择将哪些更改添加到补丁中。您必须手动编辑补丁,放弃更改,然后一一应用补丁。这与执行
git add -p
然后通过 e
几乎相同。
Ctrl+K 然后 Ctrl+Alt+S (VSCode 1.75.0)
刚刚发现这个问题,似乎可以通过选择它之前和之后的部分来暂存选定的行!