If I use gitk to look at a commit object it lists under Branches (in the lower left pane) all the children of this branch to which I can navigate upwards (as long as they are not nameless commits but actually have branch names).
Why? IMHO this is not logical and not useful because it violates the chronology of events (how thinsg got committed into the repository).
Suppose I have a a tree which look like this:
o branch 'Left' (commit 3)
| o branch 'Right' (commit 2)
|/
o commit 1
|
o branch 'base'
Now, if I select commit 1, then under 'Branches:' I will see:
Branches: Left, Right
Follows: base
What is the point of this? The commit 1 object is part of the base branch, it's not part of the Left branch, nor the Right branch, simply because at the time it was created Left and Right did not exist yet. So everything that gets merged or committed to Left and Right LATER will be part of Left or Right, NOT commit 1. So then how can the branches that commit 1 is part of include Left and Right?
Someone please explain what I am missing here, because coming from a ClearCase background it does not make sense to me at all...
Thanks!