The merge was needed because you and your second user diverged; each of you committed something off of a common base. Getting back in sync requires combining the two development paths.
A 'merge commit' does no harm whatsoever; it really isn't worth worrying about it. However, if you want to avoid it, often to keep a cleaner history, you perform:
git pull --rebase ...
which will rebase your new commits onto whatever is pulled from the repository. The history will then appear linear.
Here is an example. A repository with two branches:
$ git log --oneline --graph --all
* 678ea83 c
| * 2c1e48f b
|/
* 5836f6f a
The result of merge:
$ git merge dev
Merge made by the 'recursive' strategy.
0 files changed
create mode 100644 b
$ git log --oneline --graph --all
* 6d50134 Merge branch 'dev'
|\
| * 2c1e48f b
* | 678ea83 c
|/
* 5836f6f a
Alternately, the result of rebase:
$ git rebase dev
First, rewinding head to replay your work on top of it...
Applying: c
$ git log --oneline --graph --all
* 89a3771 c
* 2c1e48f b
* 5836f6f a