Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I "git log" only code published to trunk?

At my workplace we have a "master" trunk branch that represents published code. To make a change, I check out a working copy, create a topic branch, commit to the topic branch, merge the topic branch into master, and push.

For small changes, I might commit directly to master, then push.

My problem is that when I use "git log", I don't care about my topic branches in my local working copy. I only want to see the changes to the master branch on the remote, shared git server. What's more, if I use --stat or -p or one of their friends, I want to see the files and changes associated with the merge commit to master, not associated to their original branch commits (which, like I said, I don't want to see at all).

How do I go about doing this?

like image 981
Russell Silva Avatar asked Oct 15 '22 07:10

Russell Silva


2 Answers

This should do the trick:

git log origin/master

You may want to do a git fetch first to pull down any new commits from the remote end (this won't merge them into your local branches).

like image 190
Pat Notz Avatar answered Oct 19 '22 09:10

Pat Notz


It sounds like you actually want diff, and not log, since it sounds like you want one big listing of --stat, or -p, instead of having it broken down by the commit it originally happened in.

git diff [--stat] origin/master...master

This will show you the diff of what your master branch has (after merging in your topic branch) compared to the merge base between origin/master, and master. The important thing here is to use "..." instead of "..".

If you wanted to see all of this before merging your topic into master, you could replace the last "master" in the example above with the name of your topic branch, or leave it off entirely, if you currently have your topic branch checked out.

git diff [--stat] origin/master...
like image 1
Jacob Helwig Avatar answered Oct 19 '22 09:10

Jacob Helwig