在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
foo-branch
打开PR master
git reset origin/develop
以仅获取自上次提交分支以来的更改 git reset origin/foo-branch
和git commit ...
答案 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