Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
Community Members
Community Events
Community Groups

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

2 votes
Seth Rising Star Feb 19, 2014

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.

Seth Rising Star Jun 18, 2014

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.

Seth Rising Star Feb 20, 2014

So what differences would you expect in a SourceTree diff?

Suggest an answer

Log in or Sign up to answer

Atlassian Community Events