如何在我的本地未暂存更改中从Github PR视图显示差异更改?

时间:2019-02-15 15:00:39

标签: git github terminal

在PR上工作时,我经常想取消对分支中所做的所有更改的暂存,以便可以在diff视图中本地查看每个文件。

例如,我在Github中有一个PR,可以将foo-branch合并到origin/master

我知道我可以使用git reset origin/master将所有更改从origin/master移到我的非暂存更改中,但是暂存的更改将包括在上游已更改但我尚未合并到{{ 1}}使用foo-branch

我不想不断地将git merge origin/master合并到origin/master中以通过foo-branch显示准确的更改,而Github似乎可以解决这一问题,只向我展示差异标签中的相关文件。

如何使用git reset origin/master仅取消暂存相关文件?

我想要的工作流程如下:

  • 进行一些更改,推送到分支git reset
  • 在Github中针对foo-branch打开PR
  • 有人要求进行一些更改,因此我通过master
  • 将所有更改移入了暂存状态。
  • 进行更改,然后执行git reset origin/develop以仅获取自上次提交分支以来的更改
  • git reset origin/foo-branchgit commit ...

1 个答案:

答案 0 :(得分:1)

Github向您显示的是自git push origin HEAD的祖先提交以来所做的更改,而不是最近的提交。所以你想要:

origin/master

git merge-base HEAD origin/master | xargs git reset

git reset $(git merge-base HEAD origin/master) 打印两个分支之间的祖先提交。

奖金

如果您使用的是git merge-base,则可以打开vsCode以来的所有更改过的文件

master