Re: diff <commit> using 3-dot behavior
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Aug 24, 2016, 16:00 UTC
- Message-ID
- <9efbdfbb-4c82-1355-1f89-5edca7135179@drmicha.warpmail.net>
- In-Reply-To
- <CAHd499DL2WiTgnk5A--qihUh-jF9m7aXDzHAQuW=bLRVW4Bniw@mail.gmail.com>
Robert Dailey venit, vidit, dixit 24.08.2016 16:28:
Show 22 quoted lines
> I want to view the complete diff of my branch (topic) relative to its > parent branch (master). This should include cached/staged files and > unstaged working tree changes. > > If I do this: > > $ git diff master > > This will include changes on master *since* my last merge, which I do > not want (I don't want to see changes on master, only on topic). I > tried this: > > $ git diff master --not master > > This didn't give me any output. If I do this: > > $ git diff master...topic > > This shows me only committed changes on topic, but excludes staged & > unstaged changes. > > How can I get the results I want?
The 3-dot notation means:
Show the difference between the merge-base of master and topic, and topic.
I'm not completely sure, but I guess what you want is:
Show the difference between the merge-base of master and topic, and the worktree.
You can accomplish this with:
git diff $(git merge-base master topic)
I guess a shorter notation for that could come in handy. OTOH, I usually diff against HEAD in a situation like that.
Cheers, Michael