I'm developing statamic locally and push the changes to a bare repo on my server ('/.git' folder). Thanks to a post-receive hook, git automatically populates my '/web' directory with the relevant files (ie. the working copy; here's how this works). Everything's great and I don't intend to change this setup.

The problem lies with the Spock addon.

When I update my pages through the control panel, they don't get pushed back to the bare repo. I've copied an excerpt of the log file below.

As I understand it, Spock requires that the site's folder be a full git repo with a working copy. But that's precisely something I don't have according to the setup described above.

Any help would be greatly appreciated!

(note re the log file: contrary to what's stated, I already executed git push --set-upstream origin master).

[2018-10-24 09:36:51] live.ERROR: Spock command exited unsuccessfully:
Command: git push
Output: No output
warning: push.default is unset; its implicit value has changed in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the traditional behavior, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

When push.default is set to 'matching', git will push local branches
to the remote branches that already exist with the same name.

Since Git 2.0, Git defaults to the more conservative 'simple'
behavior, which only pushes the current branch to the corresponding
remote branch that 'git pull' uses to update the current branch.

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin master