[英]How Do I show diff changes from the Github PR view in my local unstaged changes?
When I'm working on a PR, I often like to unstage all changes I've ever made in the branch, so I can see every file modified in a diff view locally. 在进行PR时,我经常想取消对分支中所做的所有更改的暂存,因此可以在diff视图中本地查看每个文件。
For example, I have a PR in Github to merge foo-branch
into origin/master
例如,我在Github中有一个PR,可以将
foo-branch
合并到origin/master
I know I can use git reset origin/master
to move all changes from origin/master
into my unstaged changes, but the staged changes will include files that have changed upstream, but I've not yet merged into foo-branch
using git merge origin/master
. 我知道我可以使用
git reset origin/master
将所有更改从origin/master
移到未暂存的更改中,但是暂存的更改将包括上游已更改的文件,但我尚未使用git merge origin/master
合并到foo-branch
git merge origin/master
。
I don't want to have to constantly keep merging origin/master
into foo-branch
to get accurate changes showing up via git reset origin/master
, and Github seems to handle this fine, and only show me relevant files in the diff tab. 我不想一直不断地将
origin/master
合并到foo-branch
以通过git reset origin/master
显示准确的更改,而Github似乎可以解决这一问题,并且只在diff选项卡中显示相关文件。
How can I use git reset
to only unstage relevant files? 如何使用
git reset
来仅取消git reset
相关文件?
My desired workflow looks like this: 我想要的工作流程如下所示:
foo-branch
foo-branch
master
in Github master
在Github上 git reset origin/develop
git reset origin/develop
移入未git reset origin/develop
git reset origin/foo-branch
to get only my changes since my last commit on the branch git reset origin/foo-branch
以仅获取自上次在分支上提交以来的更改 git commit ...
and git push origin HEAD
git commit ...
和git push origin HEAD
What Github is showing you is the diff against your branch's merge-base
, ie the most recent commit that is in master
that is a parent of your branch HEAD
. Github向您显示的是与分支的
merge-base
的差异,即master
中最新的提交,该提交是分支HEAD
的父级。 See the manpage on merge-base
here 在此处查看关于
merge-base
的手册页
You'd use: 您将使用:
git reset $(git merge-base origin/master HEAD)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.