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