# GitHub Setup Complete at least the required tasks listed below (Tasks 1 & 2). The remaining tasks (3-5) are optional unless stated otherwise in your [**Brightspace**] course. ## Table of Contents 1. [Create a new GitHub account](#create-a-new-github-account) 2. [Configure your GitHub account](#configure-your-github-account) 3. [Customize your GitHub profile (optional)](#customize-your-github-profile-optional) 4. [Apply for GitHub Education benefits (optional)](#apply-for-github-education-benefits-optional) 5. [Learn more about GitHub (optional)](#learn-more-about-github-optional) ## Create a new GitHub account Follow the directions below to create a new GitHub account. If you already have a GitHub account that you want to use, skip to [Configure your GitHub account](#configure-your-github-account). Otherwise, follow the instructions below. 1. Go to [https://github.com/signup](https://github.com/signup). 2. Sign up for GitHub using one of the following methods: * **Continue with Google** (recommended for all users with a Gmail account) * **Continue with Apple** (recommended for macOS users without a Gmail account) * **Manually enter** the requested information. Use a personal email address and a strong, unique password. 3. Enter a professional username that you are comfortable sharing publicly. For guidance, see [GitHub Usernames](./GitHub-Username.md). Note your GitHub username, you may need it later. 4. Review GitHub’s [*Terms of Service*](https://github.com/site/terms) and [*Privacy Statement*](https://github.com/site/privacy), if desired. An AI chatbot can help you understand these documents. Just provide it with the URLs. 5. Click the **Create account** button. 6. If you did not use a **Continue with...** option, check your email inbox or junk mail folder for a verification message from GitHub. Follow the instructions in the verification email to complete the sign-up process. ## Configure your GitHub account ### Configure your GitHub email settings 1. Go to [https://github.com/settings/emails](https://github.com/settings/emails). 2. Sign in to GitHub, if prompted. 3. In the **Add email address** field, enter your `...@snhu.edu` address and click **Add**. * *Optional*. Add other email addresses as backups, if desired. ![GitHub Email settings page](./assets/github/13_github_email_add.png) 4. Check your email inbox for a verification message from GitHub. * If you do not see a message for each email address added, check your Junk or Spam folder. * Click the **Verify email address** button in the message to confirm that you own the email address, or copy and paste the URL into your browser. * Repeat this step for each email address you added to your GitHub account. ![GitHub verification email](./assets/github/15_github_email_addresses.png) 5. Back in [GitHub > Settings > Emails](https://github.com/settings/emails), refresh the page to confirm that all email addresses are listed as verified. 6. **Optional**. Change your **Primary email address** from the list of verified addresses to the one you desire. This is the address that GitHub will use for notifications and other communications. ![GitHub primary email address settings](./assets/github/16_github_email_primary.png) 7. Scroll down and turn on **Keep my email addresses private**. ![GitHub Keep my email addresses private](./assets/github/17_github_email_private.png) 8. Remember your GitHub-provided public email address. You will need it to configure your development environment. The public email address will look similar to `123456789+your-username@users.noreply.github.com`. Note your GitHub public email address, you may need it later. 9. Turn on **Block command line pushes that expose my email**. ![GitHub block command line pushes that expose my email](./assets/github/19_github_email_block.png) ### Secure your GitHub account GitHub requires users who contribute code to configure [two-factor authentication](https://docs.github.com/authentication/securing-your-account-with-two-factor-authentication-2fa/about-two-factor-authentication) (2FA). Two-factor authentication requires an additional form of verification when you sign in and helps protect your account if someone obtains your password. 1. Go to [https://github.com/settings/security](https://github.com/settings/security). 2. Under **Two-factor authentication**, click the **Enable two-factor authentication** button. ![GitHub enable two-factor authentication](./assets/github/22_github_security_enable_2FA.png) 3. Follow GitHub’s on-screen instructions to configure a two-factor authentication (2FA) method. This step is time-sensitive. One-time codes expire quickly. *TIP*. Use the same authenticator app you use for your SNHU account. This is usually the [Microsoft Authenticator](https://support.microsoft.com/en-us/authenticator/download-microsoft-authenticator) app from the [Apple](https://apps.apple.com/us/app/microsoft-authenticator/id983156458) or [Google Play](https://play.google.com/store/apps/details?id=com.azure.authenticator) stores. *WARNING*. Only enable SMS text messages authentication if you have no other option. SMS is less secure than other methods, such as an authenticator app or a security key. 4. Download or copy your recovery codes when prompted. 5. Store your recovery codes in a secure location separate from the device you normally use to sign in. *Important*. Recovery codes can help you regain access to your account if you lose access to your normal authentication method. Store them securely. Do not save your only copy on a device that could be lost or damaged. 6. **Recommended**. Add a passkey if your device and browser support one. > [!WARNING] > Do not share your password, passkey, authentication codes, or recovery codes with anyone. Neither GitHub nor SNHU will ever ask you for this information. If someone asks for it, report the request to GitHub and SNHU immediately. ## Customize your GitHub profile (optional) The profile-customization step below can help you begin building a professional GitHub presence, but it is not needed unless course activities specifically require it. 1. Go to [https://github.com/settings/profile](https://github.com/settings/profile). 2. Sign in to GitHub, if prompted. 3. **Optional**. Add or change profile information that you wish to share publicly. Remove any information you do not want to be public. For example, you can: * Add an avatar image; * Include a brief bio; * Add links to social media; * Add a [profile README](https://docs.github.com/en/account-and-profile/how-tos/profile-customization/managing-your-profile-readme) (advanced); * Click the **Update profile** button to save your changes. For an example user profile with custom README, see [Petey Penmen's profile](https://github.com/petey-penmen). 4. Scroll down to **Contributions & activity**. 1. Consider leaving the **Make profile private and hide activity** checkbox unchecked. Checking this box only hides your activity and social information, such as your contribution graph, achievements, activity feed, organization memberships, and follower information. It does not make public repositories private or hide the profile information noted above. It can help to build a history of GitHub activity that employers look for. 2. Consider checking the **Include private contributions on my profile** checkbox. This lets your GitHub contribution graph reflect work you do in private repositories (e.g., course assignments) without revealing the repositories or their contents. 3. Click the **Update preferences** button to save your changes. 5. Scroll down to **Profile settings**. 1. Check the **Show Achievements on my profile** checkbox, if desired. This lets your GitHub profile display badges for achievements you earn. 2. Click the **Update preferences** button to save your changes. 6. If your preferred spoken language is not English, scroll down to **Trending settings** and update your **Preferred spoken language**, if desired, and **Save Trending settings**. ## Apply for GitHub Education benefits (optional) Eligible students can apply for [GitHub Education](https://github.com/education/students) to receive free access to the [GitHub Student Developer Pack](https://education.github.com/pack), which includes GitHub Copilot Pro, additional developer tools, and expanded access to GitHub Codespaces. One particularly useful benefit is **60 additional GitHub Codespaces core hours per month**, increasing the free monthly allowance from 120 to 180 core hours. Codespaces lets you write and run code in a cloud-based development environment without installing software on your computer. > [!IMPORTANT] > Applying for GitHub Education benefits is **entirely optional**. These benefits are not required to complete this course or other SNHU coursework. Applications and benefits are managed directly between you and GitHub. **SNHU cannot review your application status, influence approval decisions, or provide technical support for GitHub Education benefits.** For assistance, contact [GitHub Support](https://support.github.com/). ### Prepare to apply for benefits #### Students Before applying for [GitHub Education for Students](https://github.com/education/students), obtain an **Enrollment Certificate** from SNHU. GitHub may request this document to verify your current enrollment. 1. Log into your [**mySNHU account**](https://my.snhu.edu/my.policy). 2. Under **Self-Service > Academics**, find the **Request/Review Enrollment Verification** link. 3. Follow the instructions to obtain your **Enrollment Certificate**. 4. Save the certificate to your computer so it is available if GitHub requests proof of enrollment. For additional information, see SNHU's [**Enrollment Verification Instructions**](https://www.snhu.edu/-/media/files/pdfs/enrollment-verification-request.pdf). #### Faculty Before applying for [GitHub Education for Teachers](https://github.com/education/teachers), obtain a **{{SME TODO: faculty verification document}}** from SNHU. GitHub will need this document to verify your faculty status. ### Complete GitHub billing information 1. Go to [**Payment information**](https://github.com/settings/billing/payment_information). 2. If prompted, sign in using the method you used when creating your GitHub account. 3. Edit your billing name and address so it matches your school documentation exactly. 4. Click the **Save billing information** button. > [!IMPORTANT] > No payment method is required to receive GitHub Eduction benefits—they are free. Do **NOT** enter a payment method unless you **WANT** to pay for premium GitHub services. Premium services are not required and unlikely to benefit you in this course or throughout your program of study. ### Apply for benefits 1. Go to your [**Education benefits**](https://github.com/settings/education/benefits). 2. Sign in to GitHub, if prompted. 3. Click the **Start an application** button. 4. Follow the instructions and provide the requested information. 5. Watch your [**Education benefits**](https://github.com/settings/education/benefits) for status updates. ## Learn more about GitHub (optional) ### Learning Objectives * Understand the difference between Git and GitHub * Explain the GitHub flow * Open and merge a pull request * Create a repository **Prerequisites**: Completion of [**Understanding Git and Version Control**](https://github.com/github-education-resources/teacher-toolbox/blob/main/Learning-Pathways/Version-Control-Git.md) or basic understanding of Git and version control ### Recommended Pathway * **Watch YouTube Video**: [What is GitHub?](https://www.youtube.com/watch?v=pBy1zgt0XPc) * **Complete MS Learn Module**: [Introduction to GitHub](https://learn.microsoft.com/training/modules/introduction-to-github/). This includes a GitHub skilling exercise to do the following: * Create a branch * Commit a file * Open a pull request * Merge your pull request * **Watch YouTube Video**: [How to create your first GitHub repository: A beginner's guide](https://www.youtube.com/watch?v=-RZ03WHqkaY&list=PL0lo9MOBetEFcp4SCWinBdpml9B2U25-f&index=3) * **Read GitHub Docs**: [Quickstart for repositories](https://www.youtube.com/watch?v=-RZ03WHqkaY&list=PL0lo9MOBetEFcp4SCWinBdpml9B2U25-f&index=3) * **Watch YouTube Video**: [How to upload files and folders to GitHub](https://www.youtube.com/watch?v=-RZ03WHqkaY&list=PL0lo9MOBetEFcp4SCWinBdpml9B2U25-f&index=3) * **Read GitHub Docs**: [Adding a file to a repository](https://docs.github.com/en/repositories/working-with-files/managing-files/adding-a-file-to-a-repository) **Source**: [GitHub Foundations for Non-Developers](https://github.com/github-education-resources/teacher-toolbox/blob/main/Learning-Pathways/GitHub-Foundations-Non-Developers.md)