git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Remote branchs -- how can I check them out?

From
Jakub Narebski <jnareb@gmail.com>
Date
Jan 30, 2011, 16:35 UTC
Message-ID
<m3lj229wpp.fsf@localhost.localdomain>
In-Reply-To
<AANLkTin3Tfcf=WJHJdSA9TwhFXQfaMrnm5+YEWWjo=qj@mail.gmail.com>
João Paulo Melo de Sampaio <jpmelos@gmail.com> writes:
Show 32 quoted lines
> Hello, people.
> 
> When I just cloned git using
> 
>     git clone git://git.kernel.org/pub/scm/git/git.git
> 
> and I type
> 
>     git branch
> 
> it shows me I have only the 'master' branch in my local repository
> 
>     * master
> 
> and when I type
> 
>     git branch -a
> 
> it shows that there's all these branches remotely
> 
>     * master
>       remotes/origin/HEAD -> origin/master
>       remotes/origin/html
>       remotes/origin/maint
>       remotes/origin/man
>       remotes/origin/master
>       remotes/origin/next
>       remotes/origin/pu
>       remotes/origin/todo
> 
> What do I have to do to be able to see what's in the 'maint', 'next'
> and 'todo' branches, for example?
Those are so called "remote-tracking branches", i.e. refs which follow
branches in some remote repository.  For example 'remotes/origin/master'
follows branch 'master' in remote 'origin'.  By follow I mean here that
on "git fetch" (also "git pull" and "git remote update") these 
remote-tracking branches would get updated to their value at remote.
 
Now if you only want to check wah's in given branch (beside using
"git show <branch>", "git ls-tree <branch>", "git show <branch>:<file>")
you can use e.g.
  $ git checkout origin/next

to check out _state_ of remotr-tracking branch origin/next, landing in so called "detached HEAD" state, or unnamed branch (no branch).

If you want to do some work based on given branch, you should create new local branch based on remote-tracking one, e.g. via

  $ git checkout -b --track next origin/next
IIRC nowadays doiung simply
  $ git checkout -t next
should DWIM to do the same.
> And by the way, what are those branches all about? Their names
> suggests they are maintenance branches (where you keep backward
> compatibility with an older version?), the next version of git (1.7.4
> version?) and future features under implementation (the to-do list?).

It is described in "Notes from maintainer" which you can find in git mailing list archives, in 'todo' branch of git repository, and on Git Wiki.

* 'master' - stable development, new major version is cut from it
* 'next' - development branch, not everything that makes it here
           would be in next version.  Rewound on new major version.
* 'maint' - maintenance branch for last version, minor revisions are
            cut from this; only bugfixes, no new development
* 'pu' - proposed updates, merge of interesting topic branches,
         very unstable, used to review proposed features
* 'todo' - not wery well maintained TODO list, som scripts used e.g.
           to send "What's cooking..." emails to git mailing list
* 'html', 'man' - compiled documentation
todo, html and man are detached branches.
HTH
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: João Paulo Melo de Sampaio
Message 9 of 9 in “Remote branchs -- how can I check them out?”
  1. João Paulo Melo de SampaioJan 30, 2011
  2. Konstantin KhomoutovJan 30, 2011
  3. 0/2 Re: Remote branchs -- how can I check them out?Jonathan Nieder, Jan 30, 2011
  4. 1/2 Documentation/branch: split description into subsectionsJonathan Nieder, Jan 30, 2011
  5. Sverre RabbelierJan 31, 2011
  6. 2/2 Documentation/branch: briefly explain what a branch isJonathan Nieder, Jan 30, 2011
  7. Junio C HamanoJan 31, 2011
  8. João Paulo Melo de SampaioJan 31, 2011
  9. Jakub NarebskiJan 30, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.