Paolo Ciarrocchi wrote: > On 10/29/06, Jakub Narebski <jnareb@xxxxxxxxx> wrote: [...] >> 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). > > So in this case, there is a difference between doing my local > development under master or myownlocalbranch. Right? > I mean, if I do my own development under master and I pull, the master > branch will include origin and my local changes. Corret? > While if I work in my local branch the datas are not modified with a > pull, because pull will update only the local copy of the remote > branch. Correct? To be more exact (sorry for the confusion) "git pull" means first do the "git fetch", i.e. update local 'tracking' branches with the contents of remote branches. For ordinary clone this means: remote (origin) | local ------------------+------------------ master | origin next | next ... | ... For --use-separate-remote this means remote (origin) | local -------------------+------------------- master | refs/remotes/origin/master next | refs/remotes/origin/next ... | ... Then it does "merge". It takes the remote branch from first Pull: line in remotes/origin file, or first in remote.origin.fetch configuration variable, and merges it with _current_ branch. So if you always work on local branches, and newer want to merge automatically, you probably should use "git fetch" for fetching changes. What is not obvious (and is PITA for first-timers) that to merge some <sidebranch> into your <branch>, it is simplest to first switch to <branch> using git checkout <branch> and then merge <sidebranch> using git pull . <sidebranch> (where '.' means local repository). HTH -- Jakub Narebski Poland - 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