【问题标题】:How can I commit some changes to a file, but not others, in VSCode?如何在 VSCode 中对文件提交一些更改,而不是对其他文件进行更改?
【发布时间】:2016-04-16 07:06:31
【问题描述】:

VSCode 具有出色的 git 集成,但我找不到进行部分提交的方法。基本上,我希望能够在我的文件中选择特定的更改并暂存它们,而无需暂存整个文件。 git CLI、Github 原生应用和 Atom 插件支持此功能。

主要是在为它开票之前确保我没有错过任何东西。

【问题讨论】:

    标签: visual-studio-code


    【解决方案1】:
    • 打开源代码管理视图,然后单击更改的文件以打开比较。

    • 选择您要暂存的线路。

    • 点击“...”,然后点击Stage Selected Ranges

    【讨论】:

    • 以防其他人像我一样感到困惑:此屏幕截图指的是编辑器右上角的···,而不是git面板顶部的···左边。
    • 如果这返回一个错误“Git: Illegal value for line”,这已经在 GitHub 上报告了几次,但仍未修复。在这种情况下,只需切换“内联视图”即可。 Source
    • 正如@Dimitris 提到的,这个命令也在命令面板中,所以你不需要在源代码控制视图中。
    • 请注意,这会分段整行,如果您想分段行,我猜它又回到了get add -i 和交互式编辑...
    • 这不起作用,点击“暂存选定范围”时没有任何反应。
    【解决方案2】:

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

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

    和平! ✌️

    【讨论】:

    • 难以选择删除的行
    • @duXing 要选择已删除 行,请尝试突出显示代表这些已删除行的空白阴影间隙,并确保在您的选择中包含间隙前后的行。这应该允许 Stage Selected Ranges 暂存已删除的内容。
    【解决方案3】:

    更新:2017 年 10 月:在 2017 年 10 月的最新 VSCode(版本 1.18)中,您实际上可以非常轻松地暂存特定行,就像使用 git CLI git add -p 一样。您只需从侧面单击已编辑的行,观察差异并应用或不应用它。

    【讨论】:

    • 虽然缺少两件事...您无法拆分帅哥,也无法手动编辑帅哥... :(
    【解决方案4】:

    此选项已移至调色板:

    shift+command+P 并输入“stage selected range”

    【讨论】:

      【解决方案5】:

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

      • 基本方法是在界面中Stage Selected Ranges以查看更改

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

      • 很遗憾,上述热键仅在“查看更改”界面中有效,您可能希望直接在代码编辑器中进行此操作。您可以通过另一个界面执行此操作:单击更改标签:

        然后是“换台”按钮:

      • 尽管没有直接的热键来暂存所选范围从代码编辑器,您可以转到ctrl + shift + P(打开命令面板)然后输入“stage s”并选择“Git:阶段选定范围”:

      此外,当您查看要暂存的内容时,使用Alt + F5 跳转到文件中的下一个更改非常方便。

      PS 可以看到,Command Palette 显示的“Git: Stage Selected Ranges”与“review changes”界面中的热键相同。可能是它在编辑器中不起作用的事实是一个错误。请评论它是否适合您以及您的 VS Code 版本是什么。

      【讨论】:

        【解决方案6】:

        使用交互式舞台。

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-07-29
          • 2021-08-31
          • 1970-01-01
          • 2021-07-20
          • 2019-04-02
          • 2017-06-26
          • 1970-01-01
          • 2011-02-06
          相关资源
          最近更新 更多