{"id":4225,"date":"2026-04-08T18:54:38","date_gmt":"2026-04-08T18:54:38","guid":{"rendered":"https:\/\/nmi.cool\/native-app\/getting-started-with-github\/"},"modified":"2026-04-23T21:20:47","modified_gmt":"2026-04-23T21:20:47","slug":"getting-started-with-github","status":"publish","type":"page","link":"https:\/\/nmi.cool\/appdev\/getting-started-with-github\/","title":{"rendered":"Getting Started with GitHub"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">What is Git and GitHub?<\/h2>\n\n\n\n<p>Git is a version control system \u2014 it tracks every change you make to your files over time, so you can go back to any previous version, see who changed what, and collaborate with others without overwriting each other&#8217;s work. GitHub is a cloud-based platform built on top of Git that hosts your repositories online, making it easy to back up your work, share it, and submit assignments.<\/p>\n\n\n\n<p>GitHub is used across virtually every professional software development team. It\u2019s also used in many fields besides software development, too\u2014 journalists, project managers, designers, and product teams all also use GitHub, just to name a few. Learning to work with it now puts you ahead of the curve \u2014 and is a skill future employers will look for.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Key Terms<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Repository (repo)<\/strong> \u2014 A project folder tracked by Git. It holds all your files and their full history.<\/li>\n\n\n\n<li><strong>Local<\/strong> \u2014 The copy of the repo on your own computer.<\/li>\n\n\n\n<li><strong>Remote<\/strong> \u2014 The copy of the repo stored online (on GitHub&#8217;s servers).<\/li>\n\n\n\n<li><strong>Origin<\/strong> \u2014 The default name for the remote repo your local repo is linked to.<\/li>\n\n\n\n<li><strong>Commit<\/strong> \u2014 A saved snapshot of your changes, along with a message describing what you did.<\/li>\n\n\n\n<li><strong>Push<\/strong> \u2014 Sending your local commits up to the remote repo on GitHub.<\/li>\n\n\n\n<li><strong>Pull<\/strong> \u2014 Downloading changes from the remote repo to your local copy.<\/li>\n\n\n\n<li><strong>Clone<\/strong> \u2014 Making a local copy of a remote repo on your computer.<\/li>\n\n\n\n<li><strong>Branch<\/strong> \u2014 An independent line of development. <code>main<\/code> is the default branch in new repos.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Why GitHub Desktop + Xcode on macOS?<\/h2>\n\n\n\n<p>There are several ways to use Git \u2014 terminal commands, various desktop apps, and built-in IDE integrations. For this course we&#8217;re using <strong>GitHub Desktop<\/strong> alongside Xcode for a few reasons:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Visual clarity<\/strong> \u2014 GitHub Desktop shows exactly what files changed and provides a clear commit\/push workflow without memorizing terminal commands.<\/li>\n\n\n\n<li><strong>macOS-native workflow<\/strong> \u2014 It integrates smoothly with Finder and Xcode on the Macs we use in class.<\/li>\n\n\n\n<li><strong>Lower barrier to entry<\/strong> \u2014 You can focus on learning the concepts of version control without getting tripped up by command-line syntax.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Creating a GitHub Account<\/h2>\n\n\n\n<p>If you don&#8217;t already have a GitHub account, go to <a href=\"https:\/\/github.com\" target=\"_blank\" rel=\"noreferrer noopener\">github.com<\/a> and sign up. Use a personal email address you&#8217;ll have long-term \u2014 not your UGA address, since you&#8217;ll lose access after graduation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.19-PM-1024x768.png\" alt=\"GitHub.com sign up page\" class=\"wp-image-4231\" srcset=\"https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.19-PM-1024x768.png 1024w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.19-PM-300x225.png 300w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.19-PM-768x576.png 768w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.19-PM-1536x1152.png 1536w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.19-PM-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><strong>Choose a professional username.<\/strong> This is how instructors and future employers will find you on GitHub. A simple variation of your name works well \u2014 avoid numbers, underscores, or jokes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Setting Up Two-Factor Authentication (2FA)<\/h3>\n\n\n\n<p>GitHub requires two-factor authentication. After creating your account, go to <strong>Settings \u2192 Password and authentication<\/strong> and enable an authenticator app.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.55-PM-1024x768.png\" alt=\"GitHub.com two-factor authentication page\" class=\"wp-image-4232\" srcset=\"https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.55-PM-1024x768.png 1024w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.55-PM-300x225.png 300w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.55-PM-768x576.png 768w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.55-PM-1536x1152.png 1536w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.01.55-PM-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>iOS:<\/strong> Use the built-in Apple Passwords app \u2014 go to Settings \u2192 Passwords, tap the key icon, and choose Set Up Verification Code<\/li>\n\n\n\n<li><strong>Android:<\/strong> Use Google Authenticator or your authenticator app of choice<\/li>\n<\/ul>\n\n\n\n<p>Scan the QR code shown on screen with your authenticator app. After setup, you&#8217;ll be prompted for a 6-digit code from the app each time you sign in from a new device.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing and Signing into GitHub Desktop<\/h2>\n\n\n\n<p>Download GitHub Desktop at <a href=\"https:\/\/desktop.github.com\" target=\"_blank\" rel=\"noreferrer noopener\">desktop.github.com<\/a>. It&#8217;s free and runs on macOS and Windows.<\/p>\n\n\n\n<p>After installing, open GitHub Desktop and sign in with your GitHub account:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open GitHub Desktop and go to <strong>GitHub Desktop \u2192 Settings<\/strong><\/li>\n\n\n\n<li>Click <strong>Accounts<\/strong> in the left sidebar<\/li>\n\n\n\n<li>Click <strong>Sign Into GitHub.com<\/strong><\/li>\n\n\n\n<li>Complete authorization in the browser window that opens<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/docs.github.com\/assets\/cb-62452\/images\/help\/desktop\/sign-in-github.png\" alt=\"GitHub Desktop Settings window showing Sign Into GitHub.com button under Accounts\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Joining GitHub Classroom<\/h2>\n\n\n\n<p>GitHub Classroom is how you&#8217;ll receive and submit assignments in this course. Your instructor will share an assignment invite link with you for each assignment you&#8217;ll submit to GitHub Classroom.<\/p>\n\n\n\n<p>The first time you click an assignment invite link, you&#8217;ll be prompted to <strong>find and click your name in the roster<\/strong> to link your GitHub account with your UGA ID. Your roster ID is the portion of your UGA email before @uga.edu \u2014 two or three letters followed by five numbers (for example, <code>abc12345<\/code>). <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"768\" src=\"https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.02.10-PM-1024x768.png\" alt=\"Prompt after accepting assignment invitation link to join a GitHub Classroom. Actual UGA IDs are redacted.\" class=\"wp-image-4234\" srcset=\"https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.02.10-PM-1024x768.png 1024w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.02.10-PM-300x225.png 300w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.02.10-PM-768x576.png 768w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.02.10-PM-1536x1152.png 1536w, https:\/\/nmi.cool\/appdev\/wp-content\/uploads\/sites\/17\/2026\/04\/Screenshot-2026-04-08-at-4.02.10-PM-2048x1536.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Accepting the assignment invitation creates a personal copy of the assignment repository under your GitHub account. <\/p>\n\n\n\n<p>If you encounter an error in GitHub Classroom when attempting to accept the assignment via an invite link, try visiting github.com and either:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Checking your notifications via the inbox icon in the top-right corner of the screen, or&#8230;<\/li>\n\n\n\n<li>Clicking on your profile icon, selecting Organizations, and then selecting your Classroom&#8217;s name (for example, 2026-spring-nmix-4030-weatherford-1135).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>What is Git and GitHub? Git is a version control system \u2014 it tracks every change you make to your files over time, so you can go back to any previous version, see who changed what, and collaborate with others without overwriting each other&#8217;s work. GitHub is a cloud-based platform built on top of Git &hellip; <a href=\"https:\/\/nmi.cool\/appdev\/getting-started-with-github\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Getting Started with GitHub<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4225","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages\/4225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/comments?post=4225"}],"version-history":[{"count":3,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages\/4225\/revisions"}],"predecessor-version":[{"id":4263,"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/pages\/4225\/revisions\/4263"}],"wp:attachment":[{"href":"https:\/\/nmi.cool\/appdev\/wp-json\/wp\/v2\/media?parent=4225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}