----- Original Message -----
From: Michael Gersten
Sent: Saturday, February 07, 2015 12:47 AM
Subject: [git-users] I'm looking for a GUI that displays branches properly
I want a GUI for git that displays branches properly. Even if this is the
only function of this program, if it allows me to see the branching structure
accurately, then I can use other GUI's once I know what's what.
Here's what I do NOT mean: Every GUI that I've used thinks that a branch is
the LAST point of the branch, and that the "main line" of development is
unchanged if I'm just committing to the end of a branch.
Here's a sample of what I do not want:
Note the following:
1. There is a commit on origin/master several days later. It shows as a
branch, rather than as the main line.
2. The "fded" commit (about 5 down from the top) was where I made the branch
3. The "bec1" commit (just under that) was adding a new file in (it's the
same one that was added in the origin/master change), before the
Now, here's a sample of what I do want:
So as soon as a branch is made, it shows as being different.
Meanwhile, I'd like to get information on re-writing history, and this is a
really good example.
The odd behavior comes from a github gist that was created by me, had several
versions updated on the github site (the bottom commits), forked by my
co-worker, and improved (the three commits made in the middle), and then I
checked out a local clone from that (gist ID 2aec26bc01189ea4b310). Since I
wanted to push my updates, and it was forked from my original (gist ID
5e037df5b5c9209885d5), I updated the origin URL in .git/config. I can, in fact,
see updates on my gist -- note that origin/master shows an update made from the
web interface -- but I have no idea if this messes up the history, nor how to
use rebase to edit the history if it turns out to be needed.
Some of your pictures did not make it through the email system.
I think you have a misunderstanding about the nature of "Distributed" VCS
operation. In particular, the fact that a DVCS is meant to allow individuals to
keep working when not connected to some central server of the (allegedly)
Thus you CANNOT (when not connected) ever see any changes others have made to
their branches, nor changes that others have pushed to the various servers
(because we are not connected..). The normal graphs show the status (of
remotes) as last seen, not as they might be if we had a connection.
The power of git is that it allows that separated view. This is usually
anathema to those who have been brought up with corporate managed central
Ultimately the historic idea of a 'master'  has had its day. What you (and
others) have is a copied artefact which has a verified signature (sha1 in git's
case), which some social convention designates a specific signature as their
'blessed one'. In a real working environment the 'master' is forever changing
anyway, so it wasn't that blessed with perfection ;-)
The shift of mental model can be hard, very hard, and even if you are taking it
on board because you see its power (and disn't like the old systems), it can
still trip you up every now and then. [Usually though lack of effective
terminology - see the confusions between the levels of abstraction around
staging area/index/cache/object store..]
It takes a while, a few re-reads of the books and manuals, and some practice &
experimentation, to unwind the old expectation and rework the productive flows.
 the term 'master' pre-dates the Titanic and referred to the 'master
drawings'. These were drawn on kaolin and linen drawing sheets (like linoleum)
with India ink. They had to be kept flat, and dry and rarely handled. But
without them, and the information they contained, nothing could be made.
So followed a great administrative rigmarole of tracing and blue-prints,
requests for changes, bundling of approved changes, before finally the master
could be 'touched' and updated (if the bottle of ink was spilt over it, all was
lost!). Now we can copy a 'master' at zero cost in zero time, and check it's
veracity in an instant. But the mind set of "The Master" is still with us like
a ball and chain.
You received this message because you are subscribed to the Google Groups "Git
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.