Jason Resnick: I would never recommend developing on a production environment, but I understand that sometimes you just have to work with the hand you’re dealt! if there is no way to avoid the situation you describe then I would:
* Create a “release” branch for the client
* Have a CRON job which at the end of each night does a git add . && git commit -m “Save client changes for $DATE && git push origin <branch name>”
* Before I begin work pull down the most recent client release branch and squash commits before rebasing onto my working branch
* Once finished push up my working branch and create pull request to master
* Merge into master, pull down onto production, GOTO #1
Jason Resnick: I would never recommend developing on a production environment, but I understand that sometimes you just have to work with the hand you’re dealt! if there is no way to avoid the situation you describe then I would:
* Create a “release” branch for the client
* Have a CRON job which at the end of each night does a git add . && git commit -m “Save client changes for $DATE && git push origin <branch name>”
* Before I begin work pull down the most recent client release branch and squash commits before rebasing onto my working branch
* Once finished push up my working branch and create pull request to master
* Merge into master, pull down onto production, GOTO #1