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

Re: master and origin

From
Jakub Narebski <jnareb@gmail.com>
Date
Oct 29, 2006, 21:19 UTC
Message-ID
<200610292219.21823.jnareb@gmail.com>
In-Reply-To
<4d8e3fd30610291307v24f5aab8l3f447a1bfdf86ab4@mail.gmail.com>
Paolo Ciarrocchi wrote:
Show 11 quoted lines
> On 10/29/06, Jakub Narebski <jnareb@gmail.com> wrote:
>> Paolo Ciarrocchi wrote:
>>
>>> I went trough the docs I found on the web but I still don't fully
>>> understand why if I clone a remote repository my local copy has two
>>> branches, origin (that is always a exact copy of the remote
>>> repository) and master which is... what? The branch supposed to be
>>> used for local development?
>>>
>>> I'm used to just checkout to a new branch, do my own development and
>>> then diff against origin so I'm missing why I see the master branch.
[...]
Show 12 quoted lines
>> If you don't do your development on 'master', but use other branches,
>> the 'master'/'origin' is unnecessary; you could fetch 'master' into
>> 'master'...
>>
>> By the way, if you clone with --use-separate-remote you would get
>> separate namespace for tracking branches; additionally they would
>> be treated read-only (can't commit to).
> 
> There is still one thing I don't understand, if I pull the git or
> kernel repository all the local branches are updated according to the
> remote branches, right? If I'm hacking on master what will happen to
> my local changes?

With the default setup (git clone without --use-separate-remote), then all local branches are updated according to remote branches... with the exception of remote 'master' branch which updates local 'origin' branch. pull = fetch + merge, so if you pull when you are on your local 'master' branch (and 'master' branch is first in the .git/remotes/origin file I think) you would fetch remote 'master' into local 'origin' and merge what you have in 'origin' into your 'master' (or merge remote 'master' into your local 'master' if you want to think like that).

If you have uncommitted changes git would probably refuse the merge. If you made changes to one of the tracking branches (e.g. 'next' or 'origin'), git would refuse to fetch into this branch (unless forced).

HTH
-- 
Jakub Narebski
Previous: Luben TuikovNext: Paolo Ciarrocchi
Message 4 of 7 in “master and origin”
  1. Paolo CiarrocchiOct 29, 2006
  2. Jakub NarebskiOct 29, 2006
  3. Luben TuikovOct 29, 2006
  4. Jakub NarebskiOct 29, 2006
  5. Paolo CiarrocchiOct 29, 2006
  6. Jakub NarebskiOct 29, 2006
  7. Luben TuikovOct 29, 2006

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.