Re: Terminology question about remote branches.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/4/07, David Kastrup <dak@xxxxxxx> wrote:
> Now I think that I basically have no chance figuring this out on my
> own sufficiently well to be able to improve the documentation.

Remote-tracking branch:
  A local copy of a branch in another repository. This kind of branch
  cannot be updated by 'git-commit' but only by 'git-fetch' (hence
  indirectly by 'git-pull' and 'git-remote update'). If you try to
  'git-checkout' a remote-tracking branch, you will get a detached HEAD.

Local branch:
  A branch to which you may commit changes. Optionally, the branch can be
  configured to "follow" one of your remote-tracking branches. This means
  that a 'git-pull' without arguments (when your local branch is checked
  out), will automatically 'git-fetch' and then 'git-merge' the remote-
  tracking branch.

Example:

Your local branch 'master' is setup to "follow" 'refs/remotes/origin/master'.
So if you do this:

$ git checkout master
$ git pull

Then the 'git pull'-command will do this:

$ git fetch -f origin master:remotes/origin/master
$ git merge remotes/origin/master


The magic setup that makes this happen is the following lines in .git/config:

[remote "origin"]
        url = git://git.kernel.org/pub/scm/git/git.git
        fetch = +refs/heads/*:refs/remotes/origin/*

[branch "master"]
        remote = origin
        merge = refs/heads/master


Was this helpful?

-- 
larsh
-
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux