如何让 VSCode Gutters 显示与上游的差异

sor*_*ezy 7 git visual-studio-code

我正在使用 VsCode 和显示文件修改的装订线功能(侧面的蓝色、红色和绿色突出显示部分)非常有用。但是,在提交后,这些排水沟消失了。

我仍然希望看到与 origin/master 上的相比的 gutter 修改。我知道使用 gitlens 扩展,您可以使用“打开更改”命令并选择一个分支进行比较。但这会打开一个新对话框,并排显示两个文件。我正在寻找的是一种让排水沟显示我所有变化的方法。这样我改变的区域一目了然。

小智 2

我通过执行 git Reset to origin/master,然后在进行任何其他提交之前重置回之前的提交来完成相同的工作流程。

例如,如果我所在的分支在 之前有一些提交origin/master,并且希望 VSCode 显示自 以来的差异origin/master,我会这样做:

git reset origin/master
Run Code Online (Sandbox Code Playgroud)

这不会修改任何文件的内容,但会移动 HEAD,以便 VSCode 和其他编辑器显示origin/master与当前分支之间的差异。请注意,在此状态下不要进行任何 git 签出或提交,否则您将不得不使用 reflog 来返回 之前的提交origin/master

然后要返回到所有提交都在 master 之前的状态,请执行以下操作:

git reset HEAD@{1}
Run Code Online (Sandbox Code Playgroud)

这会将 HEAD 移回到第一次重置之前的位置,并且此后您所做的所有文件更改都将保持不变。此时,git diffVSCode 将显示自上次提交以来所做的更改。您可以在此状态下进行提交,它将仅包含自上次提交以来所做的更改(即不是自 以来的所有更改origin/master)。