I’ve got a 2 web servers, one testing and one live. Both have their codebases managed with git.
I develop on the testing server, then push the changes from a master branch on the testing server to the live server with git push. However, at the moment I then have to log in to the live server and run git reset --hard for the changes to be reflected in the live code.
The warning message git displays when I push suggests changing the setting of receive.denyCurrentBranch to change how this push is handled. However, as I understand, I can either have it refuse the push, accept it with a warning and require a git reset, or accept it with no warning and require a git reset. Can I have it accept the push an not require the reset?
Thanks!
It sounds like you’re pushing into a non-bare repo (that is, one that has a copy of the repo’s files checked out on-disk). You can push into it, but Git won’t automatically update the working-copy files without a
git reset(orgit checkout). You could use a post-receive hook to do the checking out automatically, though — there’s a good how-to available here.