Branches are one way to facilitate this workflow. There is a great blog post about how to use Git branches to manage a typical development workflow.
You would then have one branch for production (e.g. master
), one for the live-edits which correspondes to the hotfix
branch in the post above, and another one for development.
To sync your local environments on laptop and desktop, you can use the aforementioned development
branch also as a remote branch and have both devices push their local commits on this branch to the remote repository.