threads / discuss / 9072

Seeing differences at origin/branch?

Subject: Seeing differences at origin/branch?

## tl;dr

3 messages between Jul 17, 2007 and Jul 17, 2007.

replies: 2people: 3as markdown or json

Thomas Adam· Jul 17, 2007, 15:53 UTC · lore
Hello all,

This is perhaps going to seem like a very CVS/SVN type of question, but is there a way to see a list of differences between one's local copy and the origin branch? I'm after something analogous to "svn status -u" really (yes, I know I could get my hands scorched for such things. :P). Is this possible?

I've tried:
git-diff-tree -p origin/master

But that won't list changes waiting for me that I would get when I issue a "git pull".

Many thanks,
Thomas Adam
Brian Downing· Jul 17, 2007, 16:12 UTC · re: Thomas Adam · lore

Re: Seeing differences at origin/branch?

On Tue, Jul 17, 2007 at 04:53:03PM +0100, Thomas Adam wrote:
Show 12 quoted lines
> This is perhaps going to seem like a very CVS/SVN type of question,
> but is there a way to see a list of differences between one's local
> copy and the origin branch?  I'm after something analogous to "svn
> status -u" really (yes, I know I could get my hands scorched for such
> things.  :P).  Is this possible?
> 
> I've tried:
> 
> git-diff-tree -p origin/master
> 
> But that won't list changes waiting for me that I would get when I
> issue a "git pull".

Use "git fetch" to fetch the remote changes, but not merge them into your local tracked branches. "git pull" basically just does "git fetch" then "git merge" into your current branch if it is tracking a remote branch.

You might as well use "git diff" as well, as "git-diff-tree" is definitely plumbing.

% git fetch origin ... % git diff origin/master

-bcd
J. Bruce Fields· Jul 17, 2007, 16:23 UTC · re: Thomas Adam · lore

Re: Seeing differences at origin/branch?

On Tue, Jul 17, 2007 at 04:53:03PM +0100, Thomas Adam wrote:
Show 12 quoted lines
> This is perhaps going to seem like a very CVS/SVN type of question,
> but is there a way to see a list of differences between one's local
> copy and the origin branch?  I'm after something analogous to "svn
> status -u" really (yes, I know I could get my hands scorched for such
> things.  :P).  Is this possible?
>
> I've tried:
>
> git-diff-tree -p origin/master
>
> But that won't list changes waiting for me that I would get when I
> issue a "git pull".

After first doing a "git fetch", to update your local view of those remote branches:

Commits on your current branch, not in origin:
	git diff origin..HEAD

Commits in the origin branch, not in your current branch (so this is what you'd probably get if you pulled):

	git diff HEAD..origin
Commits in either one, not in the other (the union of the above two):
	git diff HEAD...origin
The "HEAD" is actually optional in all the above.
And, finally, I think
	gitk HEAD...origin
gives the clearest picture of what's actually going on.
--b.

← back to recent threads