Ошибка из-за того, что Git по умолчанию не разрешает обновлять текущую ветку не bare-хранилища посредством push.
На сервере либо инициализируем хранилище так:
git init --bare
Это создаст хранилище без рабочей копии (bare хранилище)
Либо задаём в конфиге хранилища:
[receive]
denyCurrentBranch = ignore (или warn)
Чтобы можно было пушить в текущую ветку не bare хранилища.
Второй способ не рекомендуется, так как может привести к конфликтному состоянию рабочей копии.
Если на сервере должна быть рабочая копия, то только второй способ либо сделать bare-хранилище, куда пушить с клиента (оно будет точкой синхронизации), а в месте, где нужна рабочая копия, склонировать первое хранилище и периодически из него делать pull.
Bare-хранилище