在VSCode中使用GitLens如何选择性恢复暂存的更改?
解决GitLens中暂存内容逐步合并与对比标题显示问题
一、逐步合并暂存内容(从暂存挑选更改到工作区)
如果GitLens的对比界面只能单向移动更改,你可以通过以下两种方式实现逐块恢复:
方式1:使用Git命令行(最灵活)
- 查看指定暂存的全部修改:
(git stash show -p stash@{0}stash@{0}代表最近创建的暂存,若有多个暂存,可替换为stash@{1}、stash@{2}等) - 逐块选择应用修改:
执行后Git会逐个询问每个修改块的处理方式:git stash apply --patch stash@{0}- 输入
y:应用当前块 - 输入
n:跳过当前块 - 输入
s:将当前块拆分为更小的块 - 输入
q:退出操作
- 输入
方式2:VSCode内结合分支操作
- 创建临时分支并应用暂存(执行后自动删除该暂存,若需保留暂存可改用
git stash apply):git stash branch temp-stash-branch - 在临时分支中,打开VSCode的「源代码管理」面板,找到对应文件的修改,右键选择「取消暂存区块」拆分不需要的内容,只保留需要的部分,再逐步合并到主分支。
二、修改对比界面头部的易读描述
GitLens支持自定义对比标题格式,操作步骤:
- 打开VSCode设置(快捷键
Ctrl+,/Cmd+,) - 在搜索框输入「GitLens Compare Title Format」
- 将默认值修改为自定义格式,例如:
${type}: ${name}:会显示「Stash: 你的暂存名称」或「Working File」这类标识Stash: ${name} vs Working File:直接明确对比双方的身份
- 保存设置后,重新打开对比界面即可看到新的标题。
内容的提问来源于stack exchange,提问作者Francis
相关产品推荐
相关产品推荐

