Cloud and managed platforms, covered earlier in this category, typically replace manual file uploads with something more automatic: connect a Git repository once, and every push to it deploys automatically, with no FTP client and no manual file transfer involved at all.
You connect your GitHub (or similar) repository to the hosting platform once, through its dashboard. From then on, the pattern is simply: write code locally, commit it, push it to the repository — and the platform detects the push, builds the project if a build step is needed, and deploys the result automatically, usually within a minute or two.
For a project that needs one — a React app, most notably — the platform runs the project's build step (turning source code into the static files covered in the static-hosting lesson) automatically as part of deployment, rather than you running it locally and uploading the output by hand. This is exactly the deploying-a-react-app lesson's workflow, described in full shortly.
This site itself deploys exactly this way — a push to its repository triggers an automatic build and, per its own architecture described in the project's technical documentation, publishes the updated pages without anyone manually touching a server.
Most platforms default to deploying automatically on every push to a specific branch (commonly main) — this is what "continuous deployment" means in practice. Some setups instead require a manual click to promote a build to the live site, which trades a little speed for an extra deliberate checkpoint before something goes live — a reasonable choice for a project where an accidental push shouldn't immediately go public.
Git-based deployment is the default and expected workflow for cloud/managed platforms and React/Node.js projects specifically. Shared hosting for PHP or WordPress can sometimes be configured for it too, but FTP/SFTP and control-panel-based deployment, covered in the previous two lessons, remain far more common there in practice.