Thanks Konstantin, that is very thorough information. 
I will find the time and formulate a request to Git developers. 


On Tuesday, November 17, 2015 at 3:59:36 PM UTC+2, Konstantin Khomoutov 
> On Tue, 17 Nov 2015 00:06:19 -0800 (PST) 
> Daniel Doron < <javascript:>> wrote: 
> > >> > see screen capture here: 
> > >> > had to black out some parts because of proprietary info...but I 
> > >> > hope you get the gist. 
> > >> 
> > >> This "remote" stuff seems to be reachable from two tags: Alpha3 
> > >> and Alpha2.  What happens if you remove them?  (Be sure to think 
> > >> this operation through before carrying on with it.) 
> > >> 
> > > tried deleting them...changes nothing (except for the tags being 
> > > gone) 
> > Actually it did help! I forgot to delete one TAG.... 
> > Can you explain the rational behind this? 
> Some theory first. 
> Git has "refs" -- short for "references". 
> There are two kinds of references: branches (actually, "heads" in Git 
> parlance) and tags.  Hence, references are named "thingies" which point 
> to commits and are for humans to easily track those commits. 
> Now there's the concept of commit reachability. 
> As you know, a commit typically has at least one parent (merge commits 
> have two or more).  Thus child commits reference their parent commits. 
> Another way to reference a commit is to have a ref (a tag or a branch) 
> point to it.  All commits in a Git repository form a graph; actually, 
> any number of graphs.  Each commit in a graph is either a "leaf" commit 
> or is referenced by one or more child commits. 
> Now back to your issue. 
> You explicitly asked Git to show you all the refs via the "--all" 
> command-line option to `git log`.  This forced the `git log` to output 
> the lines of history hanging off all the refs your repository had, so it 
> dutifully rendered everything, including those subgraphs hanging off 
> those "Alpha3" and "Alpha2" tags. 
> One problem may be in suboptimal rendering which made you think the 
> history "falls through" the initial commit on your "master" to the 
> commit tagged "Alpha3".  I've just recreated that same situation in a 
> toy repo: 
>   % git log --graph --decorate --oneline --abbrev=commit --all 
>   * 2bb8 (tag: Alpha3) Alt: Third 
>   * 6fac Alt: Second 
>   * ddf6 Alt: First 
>   * 8fda (HEAD, master) Third 
>   * 4230 Second 
>   * 8764 First 
>   % git cat-file commit ddf6|grep -F parent 
> In my case, the subgraph hanging off "Alpha3" got rendered above the one 
> hanging off "master" but otherwise the problem exhibits yourself 
> rather clearly: it may be hard to understand that ddf6 does not have 
> 8fda as its parent. 
> You might want to bring this issue with the Git developers -- see [1] 
> on how to post to the main Git list.  If you do this, be sure to 
> include a link to this discussion in your mail, which is [2], but make 
> sure you write an actual message with as narrow formulation of your 
> problem as possible -- don't just drop a link to this discussion on 
> them: no one will bother to follow it. 
> 1. 
> 2. 

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

Reply via email to