The error message error: refusing to update checked out branch: refs/heads/master
is emitted by the remote repository and it means you’re trying to push code to remote non-bare repository that has different code currently checked out in the working directory. The best way to avoid this problem is to push to bare repositories only – this problem cannot ever happen with a bare repository.
You can simply convert your remote repository to bare repository (there is no working copy in the bare repository – the folder contains only the actual repository data).
Execute the following command in your remote repository folder:
git config --bool core.bare true
Then delete all the files except .git
in that folder. And then you will be able to perform git push
to the remote repository without any errors.