{"id":5784,"date":"2025-05-29T09:38:30","date_gmt":"2025-05-29T14:38:30","guid":{"rendered":"https:\/\/frontendmasters.com\/blog\/?p=5784"},"modified":"2025-07-01T09:44:16","modified_gmt":"2025-07-01T14:44:16","slug":"the-simplest-way-to-deploy","status":"publish","type":"post","link":"https:\/\/frontendmasters.com\/blog\/the-simplest-way-to-deploy\/","title":{"rendered":"The Simplest Way to Deploy Your Own Updatable Portfolio Site"},"content":{"rendered":"\n<p>Let&#8217;s say you&#8217;ve got a set of static files (HTML, CSS, JavaScript, images, etc) that build your website. Perhaps it&#8217;s your portfolio website, thanks to having taken Jen Kramer&#8217;s course <a href=\"https:\/\/frontendmasters.com\/courses\/getting-started-css-v2\/?utm_source=boost&amp;utm_medium=blog&amp;utm_campaign=boost\">Getting Started with CSS<\/a> where you literally build a portfolio, for example, but it could be anything.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"622\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-20-at-2.46.02%E2%80%AFPM.png?resize=1024%2C622&#038;ssl=1\" alt=\"A file directory labeled 'portfolio' showing three files: index.html, script.js, and style.css, with their sizes and types displayed.\" class=\"wp-image-5934\" style=\"width:518px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-20-at-2.46.02%E2%80%AFPM.png?resize=1024%2C622&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-20-at-2.46.02%E2%80%AFPM.png?resize=300%2C182&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-20-at-2.46.02%E2%80%AFPM.png?resize=768%2C466&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-20-at-2.46.02%E2%80%AFPM.png?w=1384&amp;ssl=1 1384w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">Hey, what do you know, I&#8217;ve got some static files that make a nice personal portfolio page right here.<\/figcaption><\/figure>\n\n\n\n<p>We&#8217;ve covered <a href=\"https:\/\/frontendmasters.com\/blog\/exactly-how-to-deploy-local-files-to-make-a-live-website\/\">the very fastest way<\/a> to get those files turned into a deployed website on the internet already, using <a href=\"https:\/\/app.netlify.com\/drop\">Netlify&#8217;s tool<\/a>. That totally works, but we can take things a little further to make things easier on our future selves. <\/p>\n\n\n\n<p>Websites tend to need to be <em>updated. <\/em>Technically, you can keep using that tool to drag-and-drop your entire site again. But since we&#8217;re here to learn to be a better developer, <strong>let&#8217;s do better<\/strong> than that. We&#8217;re going to start using Git and GitHub. Let&#8217;s do the steps.<\/p>\n\n\n<div class=\"box article-series\">\n  <header>\n    <h3 class=\"article-series-header\">Article Series<\/h3>\n  <\/header>\n  <div class=\"box-content\">\n            <ol>\n                      <li>\n              <a href=\"https:\/\/frontendmasters.com\/blog\/exactly-how-to-deploy-local-files-to-make-a-live-website\/\">Exactly How to Deploy Local Files to Make a Live Website<\/a>\n            <\/li>\n                      <li>\n              <a href=\"https:\/\/frontendmasters.com\/blog\/the-simplest-way-to-deploy\/\">The Simplest Way to Deploy Your Own Updatable Portfolio Site<\/a>\n            <\/li>\n                      <li>\n              <a href=\"https:\/\/frontendmasters.com\/blog\/deploy-a-site-with-a-build-process-a-custom-domain-name\/\">Deploy a Site with a Build Process &amp; a Custom Domain Name<\/a>\n            <\/li>\n                  <\/ol>\n        <\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Git?<\/h2>\n\n\n\n<p>Git is the name of the technology we&#8217;ll use, which is what they call a VCS or Version Control System. We&#8217;ll put our files in Git, then when we change anything, Git will know about it. Git allows us to &#8220;commit&#8221; those changes, which gives us a history of what changed. That alone is a great feature. But crucially, Git allows us to work with others (they can &#8220;pull&#8221; those commits) and most importantly for us today: connect other apps to Git. For example, when changes are pushed up, &#8220;deploy&#8221; the changes to the live website. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1) Make sure you have a GitHub account<\/h2>\n\n\n\n<p>There is a 99.99% chance you&#8217;ll need\/want a GitHub account in your developer career. If you don&#8217;t already have one, <a href=\"https:\/\/github.com\/signup?source=login\">get one<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"725\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.15.42%E2%80%AFAM.png?resize=1024%2C725&#038;ssl=1\" alt=\"GitHub sign-up page showing fields for email, password, username, country\/region, and email preferences, with a dark background and cartoonish character icons.\" class=\"wp-image-5990\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.15.42%E2%80%AFAM.png?resize=1024%2C725&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.15.42%E2%80%AFAM.png?resize=300%2C212&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.15.42%E2%80%AFAM.png?resize=768%2C543&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.15.42%E2%80%AFAM.png?resize=1536%2C1087&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.15.42%E2%80%AFAM.png?resize=2048%2C1449&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\"><a href=\"https:\/\/annebovelett.eu\/designers-your-excuse-is-gone-stunning-animated-and-accessible-yes-you-can\/\">The accessibility of this page just got improved<\/a> while retaining a great design, good job team.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">2) Get the GitHub Desktop App<\/h2>\n\n\n\n<p>We&#8217;re baby-steppin&#8217; here, and I think it will be easier for us to use <a href=\"https:\/\/github.com\/apps\/desktop\">the official GitHub app<\/a> than it will be to use what developers call &#8220;the command line&#8221; to work with Git (but <a href=\"https:\/\/frontendmasters.com\/courses\/everything-git\/\">someday you can level up<\/a>).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"968\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.17.15%E2%80%AFAM.png?resize=1024%2C968&#038;ssl=1\" alt=\"Screenshot of the GitHub Desktop application showcasing the interface with an emphasis on simplifying the Git workflow.\" class=\"wp-image-5991\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.17.15%E2%80%AFAM.png?resize=1024%2C968&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.17.15%E2%80%AFAM.png?resize=300%2C284&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.17.15%E2%80%AFAM.png?resize=768%2C726&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.17.15%E2%80%AFAM.png?resize=1536%2C1453&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.17.15%E2%80%AFAM.png?resize=2048%2C1937&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">It&#8217;s free.<\/figcaption><\/figure>\n\n\n\n<p>Honestly, I&#8217;ve been using Git for a hot long while and I still use GUI apps like this (<a href=\"https:\/\/frontendmasters.com\/blog\/tower-vs-github-desktop\/\">literally this<\/a>) to work with Git as I prefer the visual nature of it. This is true of many of the talented developers I work with, who are are very capable of command line usage as well.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3) Make a Repo<\/h2>\n\n\n\n<p>&#8220;Repo&#8221; is just short for &#8220;repository&#8221;. You could make one locally and push it up to GitHub as a second step, but for whatever reason I prefer <a href=\"https:\/\/github.com\/new\">making it on GitHub<\/a>, &#8220;pulling it down&#8221; and going from there. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"833\" height=\"1024\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?resize=833%2C1024&#038;ssl=1\" alt=\"Screenshot of the GitHub interface for creating a new repository, featuring fields for repository name, description, and options for initializing and licensing.\" class=\"wp-image-5992\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?resize=833%2C1024&amp;ssl=1 833w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?resize=244%2C300&amp;ssl=1 244w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?resize=768%2C945&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?resize=1249%2C1536&amp;ssl=1 1249w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?resize=1665%2C2048&amp;ssl=1 1665w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.21.12%E2%80%AFAM.png?w=1818&amp;ssl=1 1818w\" sizes=\"auto, (max-width: 833px) 100vw, 833px\" \/><figcaption class=\"wp-element-caption\">You likely don&#8217;t need anything but the defaults here. <\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">4) Pull the Repo from GitHub to your Local Computer<\/h2>\n\n\n\n<p>One reason to use the GitHub Desktop app we downloaded is that the GitHub website is nicely integrated with it, giving us a quick button to click:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"972\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/CleanShot-2025-05-26-at-10.24.09%402x.png?resize=1024%2C972&#038;ssl=1\" alt=\"Screenshot of a GitHub repository page showcasing the options for setting up the repository in GitHub Desktop.\" class=\"wp-image-5993\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/CleanShot-2025-05-26-at-10.24.09%402x.png?resize=1024%2C972&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/CleanShot-2025-05-26-at-10.24.09%402x.png?resize=300%2C285&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/CleanShot-2025-05-26-at-10.24.09%402x.png?resize=768%2C729&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/CleanShot-2025-05-26-at-10.24.09%402x.png?resize=1536%2C1458&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/CleanShot-2025-05-26-at-10.24.09%402x.png?resize=2048%2C1944&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"672\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.24.41%E2%80%AFAM.png?resize=1024%2C672&#038;ssl=1\" alt=\"Screenshot of the GitHub Desktop app showing the 'Clone a Repository' dialog, with fields for the repository URL and local path.\" class=\"wp-image-5994\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.24.41%E2%80%AFAM.png?resize=1024%2C672&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.24.41%E2%80%AFAM.png?resize=300%2C197&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.24.41%E2%80%AFAM.png?resize=768%2C504&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.24.41%E2%80%AFAM.png?resize=1536%2C1007&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.24.41%E2%80%AFAM.png?resize=2048%2C1343&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><figcaption class=\"wp-element-caption\">I have a folder just called &#8220;GitHub&#8221; I put all my repos in.<\/figcaption><\/figure>\n\n\n\n<p>This folder will essentially be empty. (In truth, it has a <code>.git<\/code> folder inside of it, but most operating systems and code editors hide folders and files that start with a <code>.<\/code> by default so you don&#8217;t see it while browsing files.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5) Put your static files in the folder you just pulled down<\/h2>\n\n\n\n<p>Now you can drag your static files into that &#8220;empty&#8221; folder that is your repo. When the files are in there, GitHub Desktop (and really, Git itself) will &#8220;see&#8221; those files as changes to the repo. So you&#8217;ll see this:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"723\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.28.21%E2%80%AFAM.png?resize=1024%2C723&#038;ssl=1\" alt=\"Screen displaying a GitHub Desktop application with a portfolio repository, showing files index.html, script.js, and style.css marked as changed, along with a code window for editing index.html.\" class=\"wp-image-5995\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.28.21%E2%80%AFAM.png?resize=1024%2C723&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.28.21%E2%80%AFAM.png?resize=300%2C212&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.28.21%E2%80%AFAM.png?resize=768%2C542&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.28.21%E2%80%AFAM.png?resize=1536%2C1084&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.28.21%E2%80%AFAM.png?resize=2048%2C1445&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p class=\"has-small-font-size\">(That <code>.DS_Store<\/code> file is just an awkward thing macOS does. Try right-clicking that file and ignoring it and seeing what that does.)<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">6) Push your static files to the Repo<\/h2>\n\n\n\n<p>All those files are now selected (see the checkmarks). Type in a commit message (where it says &#8220;Summary (required)&#8221; in GitHub Desktop) and then clicking the blue Commit button. <\/p>\n\n\n\n<p>After committing, you will no longer see any local changes, but you&#8217;ll see that &#8220;commit&#8221; you just did under the <strong>History<\/strong> tab. Your job now is to click the <strong>Publish branch<\/strong> button on in the upper right.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"737\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.30.54%E2%80%AFAM.png?resize=1024%2C737&#038;ssl=1\" alt=\"Screenshot of the GitHub Desktop application showing the first commit in a repository named 'my-portfolio', with a list of changed files including index.html, script.js, and style.css.\" class=\"wp-image-5996\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.30.54%E2%80%AFAM.png?resize=1024%2C737&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.30.54%E2%80%AFAM.png?resize=300%2C216&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.30.54%E2%80%AFAM.png?resize=768%2C553&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.30.54%E2%80%AFAM.png?resize=1536%2C1106&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.30.54%E2%80%AFAM.png?resize=2048%2C1475&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>After you&#8217;ve done that, you&#8217;ll see the files you &#8220;pushed&#8221; up right on GitHub.com in your repo URL:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"832\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.32.40%E2%80%AFAM.png?resize=1024%2C832&#038;ssl=1\" alt=\"Screenshot of a GitHub repository showing a personal portfolio project with files including index.html, script.js, and style.css, along with commit history and repository details.\" class=\"wp-image-5997\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.32.40%E2%80%AFAM.png?resize=1024%2C832&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.32.40%E2%80%AFAM.png?resize=300%2C244&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.32.40%E2%80%AFAM.png?resize=768%2C624&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.32.40%E2%80%AFAM.png?resize=1536%2C1248&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-26-at-10.32.40%E2%80%AFAM.png?resize=2048%2C1664&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">7) Now that your website files are on GitHub, we can deploy them to a live website<\/h2>\n\n\n\n<p>Just so you&#8217;re aware, GitHub has a product called <a href=\"https:\/\/pages.github.com\/\">GitHub Pages<\/a> where we could just make GitHub itself the home of your website. <a href=\"https:\/\/frontendmasters.com\/courses\/getting-started-css-v2\/deploying-to-github-pages\/?utm_source=boost&amp;utm_medium=blog&amp;utm_campaign=boost\">Jen demonstrates this in her course.<\/a><\/p>\n\n\n\n<p>We&#8217;re also fans of <a href=\"https:\/\/www.netlify.com\/\">Netlify<\/a> here and generally think that&#8217;s the best option for projects like this, so <a href=\"https:\/\/app.netlify.com\/signup\">sign up for a free account at Netlify<\/a> if you don&#8217;t have one.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">8) Make a New Projects on Netlify<\/h2>\n\n\n\n<p>One you&#8217;re in, go to <strong>Projects<\/strong> and add a new one by selecting <strong>Import an existing project.<\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"770\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.47.16%E2%80%AFAM.png?resize=658%2C770&#038;ssl=1\" alt=\"\" class=\"wp-image-6008\" style=\"width:355px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.47.16%E2%80%AFAM.png?w=658&amp;ssl=1 658w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.47.16%E2%80%AFAM.png?resize=256%2C300&amp;ssl=1 256w\" sizes=\"auto, (max-width: 658px) 100vw, 658px\" \/><\/figure>\n<\/div>\n\n\n<p>Then select GitHub as that&#8217;s where our project lives.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"322\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.48.28%E2%80%AFAM-1.png?resize=1024%2C322&#038;ssl=1\" alt=\"\" class=\"wp-image-6010\" style=\"width:613px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.48.28%E2%80%AFAM-1.png?resize=1024%2C322&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.48.28%E2%80%AFAM-1.png?resize=300%2C94&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.48.28%E2%80%AFAM-1.png?resize=768%2C241&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.48.28%E2%80%AFAM-1.png?resize=1536%2C483&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.48.28%E2%80%AFAM-1.png?w=1552&amp;ssl=1 1552w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n<\/div>\n\n\n<p>You may need to grant Netlify permissions on GitHub:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"643\" height=\"1024\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.18%E2%80%AFAM.png?resize=643%2C1024&#038;ssl=1\" alt=\"\" class=\"wp-image-6011\" style=\"width:442px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.18%E2%80%AFAM.png?resize=643%2C1024&amp;ssl=1 643w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.18%E2%80%AFAM.png?resize=189%2C300&amp;ssl=1 189w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.18%E2%80%AFAM.png?resize=768%2C1222&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.18%E2%80%AFAM.png?resize=965%2C1536&amp;ssl=1 965w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.18%E2%80%AFAM.png?w=1072&amp;ssl=1 1072w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/figure>\n<\/div>\n\n\n<p>Once Netlify is authorized, you&#8217;ll see a list of your repos. Find the porfolio one we&#8217;re working with and click it.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"433\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.44%E2%80%AFAM.png?resize=1024%2C433&#038;ssl=1\" alt=\"\" class=\"wp-image-6012\" style=\"width:613px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.44%E2%80%AFAM.png?resize=1024%2C433&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.44%E2%80%AFAM.png?resize=300%2C127&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.44%E2%80%AFAM.png?resize=768%2C325&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.44%E2%80%AFAM.png?resize=1536%2C650&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-6.50.44%E2%80%AFAM.png?w=1560&amp;ssl=1 1560w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n<\/div>\n\n\n<p>Now you pick the URL for it, which for now will be <code><strong>your-chosen-name<\/strong>.netlify.app<\/code>. You don&#8217;t need to change any other settings, so scroll down and <strong>Deploy<em> <\/em><\/strong>it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">9) Your Website will Go Live<\/h2>\n\n\n\n<p>Netlify will work on deploying it, which should be pretty fast probably. Maybe a few minutes at worst. <\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"681\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.02.23%E2%80%AFAM.png?resize=1024%2C681&#038;ssl=1\" alt=\"\" class=\"wp-image-6013\" style=\"width:546px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.02.23%E2%80%AFAM.png?resize=1024%2C681&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.02.23%E2%80%AFAM.png?resize=300%2C200&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.02.23%E2%80%AFAM.png?resize=768%2C511&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.02.23%E2%80%AFAM.png?w=1064&amp;ssl=1 1064w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n<\/div>\n\n\n<p>Then it will be live!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"804\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.12.56%E2%80%AFAM.png?resize=966%2C804&#038;ssl=1\" alt=\"\" class=\"wp-image-6014\" style=\"width:540px;height:auto\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.12.56%E2%80%AFAM.png?w=966&amp;ssl=1 966w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.12.56%E2%80%AFAM.png?resize=300%2C250&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.12.56%E2%80%AFAM.png?resize=768%2C639&amp;ssl=1 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><\/figure>\n<\/div>\n\n\n<p>You can click that green link like you see above to see the website. <\/p>\n\n\n\n<p><em><strong>You can share that URL with anyone in the wor<\/strong><\/em><strong><em>ld and they&#8217;ll be able to see it.<\/em><\/strong> That&#8217;s the power of the world wide web. It&#8217;s awesome. Here&#8217;s a view of the files I uploaded:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"676\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.15.25%E2%80%AFAM.png?resize=1024%2C676&#038;ssl=1\" alt=\"\" class=\"wp-image-6015\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.15.25%E2%80%AFAM-scaled.png?resize=1024%2C676&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.15.25%E2%80%AFAM-scaled.png?resize=300%2C198&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.15.25%E2%80%AFAM-scaled.png?resize=768%2C507&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.15.25%E2%80%AFAM-scaled.png?resize=1536%2C1014&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.15.25%E2%80%AFAM-scaled.png?resize=2048%2C1352&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">10) Make Some Changes<\/h2>\n\n\n\n<p>Another wonderful part of working on websites is you can easily change them at any time. That&#8217;s part of why we&#8217;re working with Git, because we can push up those changes and keep track of them. We can also efficiently deploy only changed files and such. <\/p>\n\n\n\n<p>If I change the files locally, the GitHub Desktop app will show me what has changed. I can check out those changes, confirming it&#8217;s exactly as I want, then type in a commit message and commit them, then click <strong>Push origin<em> <\/em><\/strong>to both push the changes to GitHub and deploy the site on Netlify.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"737\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.24.26%E2%80%AFAM.png?resize=1024%2C737&#038;ssl=1\" alt=\"Screenshot of a GitHub Desktop interface showing changes in HTML and CSS files, highlighting modifications to the text 'Frontend Developer' to 'Front-End Dev' with a commit message field.\" class=\"wp-image-6017\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.24.26%E2%80%AFAM.png?resize=1024%2C737&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.24.26%E2%80%AFAM.png?resize=300%2C216&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.24.26%E2%80%AFAM.png?resize=768%2C553&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.24.26%E2%80%AFAM.png?resize=1536%2C1106&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.24.26%E2%80%AFAM.png?resize=2048%2C1475&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"662\" src=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.26.58%E2%80%AFAM.png?resize=1024%2C662&#038;ssl=1\" alt=\"Screenshot of a portfolio website featuring the text 'Hi, I'm Chris Front-End Dev' with a pink button labeled 'Contact' and navigation links.\" class=\"wp-image-6018\" srcset=\"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.26.58%E2%80%AFAM-scaled.png?resize=1024%2C662&amp;ssl=1 1024w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.26.58%E2%80%AFAM-scaled.png?resize=300%2C194&amp;ssl=1 300w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.26.58%E2%80%AFAM-scaled.png?resize=768%2C497&amp;ssl=1 768w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.26.58%E2%80%AFAM-scaled.png?resize=1536%2C994&amp;ssl=1 1536w, https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/Screenshot-2025-05-28-at-7.26.58%E2%80%AFAM-scaled.png?resize=2048%2C1325&amp;ssl=1 2048w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<p>You really are a web designer and front-end developer now!<\/p>\n\n\n\n<p>Next time we&#8217;ll take things just a smidge further, adding in a tool to help us build slightly more complex websites, which will make more clear why we&#8217;re using Netlify. And we&#8217;ll use a &#8220;real&#8221; domain name entirely of our own.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<div class=\"box article-series\">\n  <header>\n    <h3 class=\"article-series-header\">Article Series<\/h3>\n  <\/header>\n  <div class=\"box-content\">\n            <ol>\n                      <li>\n              <a href=\"https:\/\/frontendmasters.com\/blog\/exactly-how-to-deploy-local-files-to-make-a-live-website\/\">Exactly How to Deploy Local Files to Make a Live Website<\/a>\n            <\/li>\n                      <li>\n              <a href=\"https:\/\/frontendmasters.com\/blog\/the-simplest-way-to-deploy\/\">The Simplest Way to Deploy Your Own Updatable Portfolio Site<\/a>\n            <\/li>\n                      <li>\n              <a href=\"https:\/\/frontendmasters.com\/blog\/deploy-a-site-with-a-build-process-a-custom-domain-name\/\">Deploy a Site with a Build Process &amp; a Custom Domain Name<\/a>\n            <\/li>\n                  <\/ol>\n        <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>For the true beginners out there! We&#8217;ll put the files in a GitHub repo and connect it to Netlify to host it.<\/p>\n","protected":false},"author":1,"featured_media":6023,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[175,269,31,351],"class_list":["post-5784","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-post","tag-deployment","tag-hosting","tag-html","tag-portfolio"],"acf":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/frontendmasters.com\/blog\/wp-content\/uploads\/2025\/05\/The-Simplest-Way-to-Deploy-Your-Own-Updatable-Portfolio-Site.jpg?fit=1140%2C676&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/5784","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/comments?post=5784"}],"version-history":[{"count":14,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/5784\/revisions"}],"predecessor-version":[{"id":6423,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/posts\/5784\/revisions\/6423"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media\/6023"}],"wp:attachment":[{"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/media?parent=5784"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/categories?post=5784"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/frontendmasters.com\/blog\/wp-json\/wp\/v2\/tags?post=5784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}