Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How can I use SourceTree from the command line to browse the differences between two commits


I would like to do something like this:

open -a SourceTree puppetlabs-apache 8340107...97b5594ffd3b7fec169f807d3dee07cb094982a5



4 answers

If you want to use the command line, you should just use the git client. SourceTree is just a UI wrapper to a git command line client anyway.

git diff 8340107 97b5594ffd3b7fec169f807d3dee07cb094982a5

" SourceTree is just a UI wrapper to a git command line client anyway" : yep you made my day

Like sabz20005 likes this

Disagree big time.  Contrast gitextensions which provides a number of command-line entry points to it's gui.  I can bring up it's merge tool, invoke graphical blame, log of a specific file, etc, all from command line.  ditto TortoiseGit.

I'm overwhelmingly primarily a commandline dev but I don't want to view a blame via commandline, but it's usually easier for me to specify a path on the commandline

looks like sourcetree.exe /? provides some help, and there's a few commands status, log, filelog, commit, but it's pretty bare compared to gitextensions or tortoise

Hi Seth,

I don't understand your question. I'm trying to determine if I can invoke sourcetree from the command line and browse the changes between two commits. I do this currently with git on the command line but it's really tedious when you have an active project with a lot of committers.

A good example of this is when you are browsing down commits and you see a file diff and you would like to step sideways through changes on that file with log display.


GitX has a feature like this: you can do

gitx --diff <arguments to git diff>

and see the diff nicely formatted. SourceTree should have a similar command.

As far as I know, SourceTree is exclusively GUI. The only commands it provides are alternate ways to launch the GUI.

I should have been clearer. The GitX command above opens the diff *in the GUI*, and I would expect any similar SourceTree command to so likewise.

I'd like be able to browse an active project between releases to see changes and the commit logs for each change. 'git diff branch..branch' is very file oriented. I will do a 'git diff --name-status branch1..branch1' sometimes.

I do this as well...

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"

git lg -p branch1..branch2 and it's pretty good looking but it's not very usable on large numbers of changes.

So what differences would you expect in a SourceTree diff?

Suggest an answer

Log in or Sign up to answer
Community showcase
Published in Sourcetree

Tip from the team: configure your repos for hosting goodness!

Supported Platforms macOS Windows We recently introduced support for additional hosting services such as GitHub Enterprise, GitLab (Cloud, Community Edition, Enterprise Edition), and...

7,122 views 5 13
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you