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

fab*_*uex 7 git version-control visual-studio-code

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

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

有没有办法实现它?

谢谢

在此处输入图片说明

Gin*_*pin 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

  • 谢谢你的回答,我点赞。然而,在过去,我使用了 Source Tree,并且能够毫无问题地做到这一点(我的意思是在同一个块中选择多行并将它们暂存) (3认同)
  • 我认为 SourceTree 会在内部为您创建和编辑补丁文件。我记得它有自己的补丁文件功能。 (2认同)