Berat Özdemir wrote: > I stumbled on a weird behavior in git with the pull operation. > Imagine the following scenario: > > We have a local and a remote repository, with the branches master, develop and f1. We > > - cloned the remote repository. > - checked f1 out > - checked develop out > - run git merge f1. Merge was successful. > - Did not pushed > - run git reset --hard origin/develop -> to undo the f1 merge into develop > - run git pull origin f1 > > What did you expect to happen? (Expected behavior) > I expected that "git pull origin f1" will just update the f1 branch (fetching and merging with origin/f1). In my case I expected nothing to happen since neither local f1 nor origin/f1 did changed while testing. Just develop changed locally, but it was resetted. The first sentence of the documentation says: Incorporates changes from a remote repository into the current branch. You are effectively merging origin/f1 into your current. My recommendation to everyone is simply to not use `git pull`, as a lot of time (most of the time?) it doesn't do what the user wants. It's much better to just do `git fetch`+`git merge/rebase`. Cheers. -- Felipe Contreras