I think in this case you should do a `git fetch` instead. Doing a pull is the same as performing a fetch and merge. With a `fetch`, your remote branch is up-to-date while your tracking branch is left untouched. You can later check the differences between the two branches and merge when you're ready. $ git fetch # update remote branch heads $ git diff origin/branchname # show what is different between your local branch and the remote $ git merge origin/branchname # only when you're ready For me, it's easier to keep my personal branches separate by using a topic branch that doesn't track a remote branch. Then, optionally, merge in differences from whatever remote tracking branches as needed. $ git branch -t development origin/development # tracking remote development branch $ git checkout -b mystuff development # my personal stuff Now a `git pull` won't affect `mystuff`. Allen On Fri, Jul 31, 2009 at 8:35 AM, thepurpleblob<howardsmiller@xxxxxxxxxxxxxx> wrote: > > I had some unexpected behaviour doing a merge today. I wonder if anybody can > tell me where I have gone wrong. This is the sequence... > > * clone a remote repo > * created a local branch to track one of the remote branches > * did work on the local branch and then created another 'feature' branch > from that > * time elapsed and at some point(s) I pulled from the remote but did not > merge the original local branch > * finished feature, checkout local branch and merge in feature. > > What I didn't expect is that all the subsequent changes on the tracked > remote branch got merged in too. Which I didn't want. > > So the question is - is that what's supposed to happen (ie. if you do any > merge the tracked branch 'fast forwards' the remote) and, if so, if I want a > branch that stays a branch (doesn't ever merge with the remote) how would I > do that? > > Thanks! > -- > View this message in context: http://www.nabble.com/merge-confusion-tp24755682p24755682.html > Sent from the git mailing list archive at Nabble.com. > > -- > 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 > -- 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