Suppose I have a `master` branch, and a `dev` branch. After working in the `dev` branch, I squash and merge it into master 

```
git checkout master
git merge --squash dev 
git commit

```

This makes a new commit, right? But it seems like running `git checkout dev; git merge master` spits out `already up-to-date`. I'm not complaining, but how is this possible. There should be a *new* commit that conflicts with all the squashed ones, shouldn't there?

Edit: There's no error, I just want to know *why* there's no error.