git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Narebski <jnareb@gmail.com>
To: "Paolo Ciarrocchi" <paolo.ciarrocchi@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: master and origin
Date: Sun, 29 Oct 2006 22:19:21 +0100	[thread overview]
Message-ID: <200610292219.21823.jnareb@gmail.com> (raw)
In-Reply-To: <4d8e3fd30610291307v24f5aab8l3f447a1bfdf86ab4@mail.gmail.com>

Paolo Ciarrocchi wrote:
> 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.
[...]
>> 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

  parent reply	other threads:[~2006-10-29 21:19 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-29 20:53 master and origin Paolo Ciarrocchi
2006-10-29 21:01 ` Jakub Narebski
     [not found]   ` <4d8e3fd30610291307v24f5aab8l3f447a1bfdf86ab4@mail.gmail.com>
2006-10-29 21:19     ` Jakub Narebski [this message]
2006-10-29 21:29       ` Paolo Ciarrocchi
2006-10-29 21:40         ` Jakub Narebski
2006-10-29 23:19         ` Luben Tuikov
2006-10-29 22:58 ` Luben Tuikov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200610292219.21823.jnareb@gmail.com \
    --to=jnareb@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=paolo.ciarrocchi@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).