如何在VSCode中对文件进行一些更改而不对其他文件进行更改?

时间:2016-01-11 20:35:22

标签: visual-studio-code

VSCode具有出色的git集成,但我找不到部分提交的方法。基本上,我希望能够在我的文件中选择特定的更改并在不暂存整个文件的情况下进行分级。 git CLI,Github本机应用程序和Atom插件支持此功能。

主要是确保我在打开机票之前不会错过任何东西。

6 个答案:

答案 0 :(得分:108)

  • 打开“源代码管理”视图,然后单击已更改的文件以打开比较。

  • 选择要分段的行。

  • 点击' ...'然后Stage Selected Ranges

enter image description here

答案 1 :(得分:29)

  

⚡使用gif总结本文中的所有内容。

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

VSCode Range Select Commit

和平! ✌️

答案 2 :(得分:26)

更新:2017年10月:在2017年10月的最新VSCode(版本1.18)中,您可以使用git CLI git add -p实际上非常简单地登录特定行。你只需要从侧面点击编辑过的线条,观察差异并应用它。

View pending changes and perform partial commits in the editor

答案 3 :(得分:5)

此选项已移至调色板:

shift + command + P并键入"阶段选择的范围"

答案 4 :(得分:3)

这个问题很老了,但是我没有看到任何提到热键的内容,所以让我总结一下各种方法:

  • 基本方法是在界面中暂存选定范围以查看更改

    enter image description here

    1. 开放源代码管理 (ctrl + shift + G)
    2. 选择文件
    3. 选择应暂存的行(或将光标放在已删除位之前和之后的一行或几行)
    4. 打开“...”菜单并选择“Stage Selected Ranges”
  • 另一方面,您可以使用热键。默认的(在 v1.56.2 中)是 ctrl + Kctrl + alt + S。要设置自定义组合键,请打开键盘快捷键(从文件 → 首选项或通过 ctrl + K 然后 ctrl + S)并找到 stageSelectedRanges(可能是 unstageSelectedRanges、{{1} })

  • 不幸的是,上面提到的热键只能在“审查更改”界面中使用,您可能希望直接在代码编辑器中执行此操作。您可以通过另一个界面执行此操作:单击更改标签:

    enter image description here

    然后是“换台”按钮:

    enter image description here

  • 尽管没有直接热键从代码编辑器暂存选定的范围,但您可以转到revertSelectedRanges(打开命令面板),然后输入“ stage s”并选择“Git:Stage Selected Ranges”:

    enter image description here

此外,当您查看要暂存的内容时,使用 ctrl + shift + P 跳转到文件中的下一个更改也很方便。

PS 如您所见,Command Palette 显示的“Git: Stage Selected Ranges”与“审查更改”界面中的热键相同。可能是因为它在编辑器中不起作用是一个错误。请评论它是否适合您以及您的 VS Code 版本是什么。

答案 5 :(得分:0)

使用交互式登台。

命令-git add -p <文件名> 这将向您显示文件,并且您可以选择在分割更改后要提交的文件