{"id":96581,"date":"2026-06-08T09:00:00","date_gmt":"2026-06-08T16:00:00","guid":{"rendered":"https:\/\/github.blog\/?p=96581"},"modified":"2026-06-04T10:44:43","modified_gmt":"2026-06-04T17:44:43","slug":"github-for-beginners-answers-to-some-common-questions","status":"publish","type":"post","link":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/","title":{"rendered":"GitHub for Beginners: Answers to some common questions"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>Welcome back to GitHub for Beginners. This is the final episode of the season, and we&rsquo;ve covered a lot so far. Make sure to check out <a href=\"https:\/\/github.blog\/tag\/github-for-beginners\/\">our other episodes<\/a> to see all the various topics we&rsquo;ve discussed.<\/p>\n\n\n\n<p>Today, we&rsquo;re going to spend some time answering some questions that people often have, especially when they&rsquo;re first getting started. So without further ado, let&rsquo;s jump right in.<\/p>\n\n\n\n<p>As always, if you prefer to watch the video or want to reference it, we have all of our <a href=\"https:\/\/gh.io\/gfb\">GitHub for Beginners episodes available on YouTube<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-is-ssh-and-how-do-i-add-my-ssh-key-to-github\">What is SSH and how do I add my SSH key to GitHub?<\/h2>\n\n\n\n<p>An SSH key is a secure shell key. It&rsquo;s a pair of files on your computer that has two parts: a private key and a public key.<\/p>\n\n\n\n<p>The private key stays on your computer and should never be shared. The public key is what you share with platforms like GitHub. When you store your public key on GitHub, git uses your private key to confirm your identity when you push and pull code. In order for you to be authenticated, your public key on GitHub needs to match the private key on your computer.<\/p>\n\n\n\n<p>So how do you do this? Let&rsquo;s create a key pair and add your public key to GitHub now.<\/p>\n\n\n\n<p>(And remember, if you prefer a video walkthrough, <a href=\"https:\/\/www.youtube.com\/watch?v=ZgARMqR3qq8\">that is available<\/a>.)<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open up a terminal and enter the following command. Remember to replace the email placeholder with your email address you use to log into GitHub.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>ssh-keygen &ndash;t ed25519 &ndash; C YOUREMAIL@DOMAIN.COM<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"ssh-keygen &ndash;t ed25519 &ndash; C YOUREMAIL@DOMAIN.COM\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>When it prompts you to enter a file to save the key, press Enter to accept the default file and location.<\/li>\n\n\n\n<li>Enter a passphrase that you&rsquo;ll remember. Note that the terminal will not display what you type, so be careful not to have any typos!<\/li>\n\n\n\n<li>Reenter your passphrase.<\/li>\n<\/ol>\n\n\n\n<p>This will create your new SSH key. Now you want to add it to your ssh-agent. An ssh-agent is a program that securely stores your keys so that you don&rsquo;t need to keep entering your passphrase.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&#128269; To learn more, check out&nbsp;<a href=\"https:\/\/gh.io\/gfb-ssh\" target=\"_blank\" rel=\"noreferrer noopener\">our docs about adding your SSH key to ssh-agent<\/a>.&nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>To add this new SSH key to the ssh-agent, run the following command. Note that you will need to add your passphrase when prompted.<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>ssh-add ~\/.ssh\/id_ed25519<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"ssh-add ~\/.ssh\/id_ed25519\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>Now that you have created the SSH key and configured your ssh-agent, the next step is adding the public key to GitHub.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In your terminal, run the following command.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>cat ~\/.ssh\/id_ed25519.pub<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"cat ~\/.ssh\/id_ed25519.pub\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<ol start=\"2\" class=\"wp-block-list\">\n<li>Copy the entire line that appears in the terminal as a response to that command.<\/li>\n\n\n\n<li>Open a browser and navigate to <a href=\"http:\/\/github.com\">github.com<\/a>.<\/li>\n\n\n\n<li>Click your profile picture in the top-right corner and select <strong>Settings<\/strong>.<\/li>\n\n\n\n<li>In the menu on the left-hand side, select <strong>SSH and GPG keys<\/strong>.<\/li>\n\n\n\n<li>On the right-hand side, click the green <strong>New SSH key<\/strong> button.<\/li>\n\n\n\n<li>Give the key that you&rsquo;re about to add a name in the &ldquo;Title&rdquo; box that describes this key in a way you&rsquo;ll remember. For example, if this is your work laptop you might enter a title of &ldquo;work-laptop&rdquo;.<\/li>\n\n\n\n<li>Paste the key you copied from the terminal into the &ldquo;Key&rdquo; box.<\/li>\n\n\n\n<li>Click the green <strong>Add SSH key<\/strong> button at the bottom of the window.<\/li>\n<\/ol>\n\n\n\n<p>Congratulations! Your computer is now configured to connect to GitHub over SSH.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-how-do-i-add-a-pat-to-github-what-is-a-pat\">How do I add a PAT to GitHub? What is a PAT?<\/h2>\n\n\n\n<p>PAT stands for Personal Access Token. A PAT is a special credential that you create on GitHub for tools that need authentication. You control its permissions and can revoke it any time. On GitHub, you&rsquo;ll commonly use a PAT to authenticate via command line or the GitHub API.<\/p>\n\n\n\n<p>There are two types of PATs available: fine-grained tokens and classic tokens. First we&rsquo;ll walk through creating a fine-grained PAT.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open a browser and navigate to <a href=\"https:\/\/github.com\/\">github.com<\/a>.<\/li>\n\n\n\n<li>Click your profile picture in the top-right corner and select <strong>Settings<\/strong>.<\/li>\n\n\n\n<li>Scroll to the bottom of the list of options in the left-hand column and select <strong>Developer settings<\/strong>.<\/li>\n\n\n\n<li>In the left-hand column, expand the option for <strong>Personal access tokens<\/strong>. Select <strong>Fine-grained tokens<\/strong> from the options displayed.<\/li>\n\n\n\n<li>Click the green <strong>Generate new token<\/strong> button in the center of the window.<\/li>\n\n\n\n<li>Enter a name and description for the token. This should make it clear what the token is going to be used for (e.g., a name of &ldquo;cli-access&rdquo; with a description of &ldquo;access the Copilot CLI&rdquo;).<\/li>\n\n\n\n<li>Under &ldquo;Expiration,&rdquo; select a date that matches how long you need the token to be valid. Once the token expires, it will not work anymore.<\/li>\n\n\n\n<li>Under &ldquo;Repository access,&rdquo; select which repositories you want the PAT to be able to access. You can limit the selection to only specific repositories if you know which repositories it will need to access.<\/li>\n\n\n\n<li>Under &ldquo;Permissions&rdquo;, click <strong>Add permissions<\/strong> to select which permissions you&rsquo;re granting to this PAT. This lets you define the scope of what the PAT can do.<\/li>\n\n\n\n<li>For each permission, you can specify whether it has read-only access or read and write access.<\/li>\n\n\n\n<li>When you&rsquo;re satisfied with the permissions, scroll to the bottom and click the green <strong>Generate token<\/strong> button.<\/li>\n\n\n\n<li>A window pops up, providing a review of all of the information associated with this token. Verify that the information is correct, and then click <strong>Generate token<\/strong>.<\/li>\n\n\n\n<li>GitHub will now show you the token. Make sure that you copy it and store it in a safe location (e.g., a password manager), because GitHub only shows you this token once.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&#128269; For more information, check out <a href=\"https:\/\/gh.io\/gfb-tokens\">our documentation about Personal Access Tokens<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Now let&rsquo;s go through creating a classic token. As you&rsquo;ll see, it&rsquo;s very similar in several ways.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open a browser and navigate to <a href=\"https:\/\/github.com\/\">github.com<\/a>.<\/li>\n\n\n\n<li>Click your profile picture in the top-right corner and select <strong>Settings<\/strong>.<\/li>\n\n\n\n<li>Scroll to the bottom of the list of options in the left-hand column and select <strong>Developer settings<\/strong>.<\/li>\n\n\n\n<li>In the left-hand column, expand the option for <strong>Personal access tokens<\/strong>. Select <strong>Tokens (classic)<\/strong> from the options displayed.<\/li>\n\n\n\n<li>In the main window, click <strong>Generate new token<\/strong> and select <strong>Generate new token (classic)<\/strong>.<\/li>\n\n\n\n<li>Give the token a clear name that explains what it will be used for (e.g., &ldquo;terminal-access&rdquo;).<\/li>\n\n\n\n<li>Under &ldquo;Expiration,&rdquo; select a date that matches how long you need the token to be valid. Once the token expires, it will not work anymore.<\/li>\n\n\n\n<li>Select the scopes for your token. The scopes indicate what access permissions the token grants.<\/li>\n\n\n\n<li>When you&rsquo;re satisfied with the scopes, scroll to the bottom and click the green <strong>Generate token<\/strong> button.<\/li>\n\n\n\n<li>GitHub will now show you the token. Make sure that you copy it and store it in a safe location (e.g., a password manager), because GitHub only shows you this token once.<\/li>\n<\/ol>\n\n\n\n<p>This creates the classic token. The next time that GitHub asks for your password in a terminal, instead of supplying your password, you could paste this token.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"whats-the-difference-between-merging-and-rebasing-and-how-do-i-fix-a-merge-conflict\">What&rsquo;s the difference between merging and rebasing, and how do I fix a merge conflict?<\/h2>\n\n\n\n<p>A merge conflict is what happens when two changes touch the same part of a file, and git needs your help to decide what the final version should be. There are a few different ways you can resolve this, but we&rsquo;re just going to walk through it using the GitHub UI.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open a pull request that has a merge conflict. GitHub will provide a message indicating that there&rsquo;s a conflict and you won&rsquo;t be able to automatically merge.<\/li>\n\n\n\n<li>Scroll to the bottom and click the <strong>Resolve conflicts<\/strong> button inside the warning about conflicts.<\/li>\n\n\n\n<li>GitHub opens the files that have conflicts. Use the editor to resolve the conflicts by choosing which version of the file to use in each case where there&rsquo;s a conflict.<\/li>\n\n\n\n<li>Once the file has no more conflict markers (i.e., you&rsquo;ve addressed every conflict), select <strong>Mark as resolved<\/strong> in the top-right.<\/li>\n\n\n\n<li>Repeat this process for every file that has merge conflicts.<\/li>\n\n\n\n<li>After you&rsquo;ve addressed all the files that have conflicts, click the green <strong>Commit merge<\/strong> button at the top of the window.<\/li>\n<\/ol>\n\n\n\n<p>This updates your pull request with the merged conflict and now you&rsquo;ll be able to merge that change into your repository. Well done!<\/p>\n\n\n\n<p>Now let&rsquo;s talk about the difference between merging and rebasing, and when you might want to use one over another.<\/p>\n\n\n\n<p>Merging combines changes from one branch into another by creating a new commit that ties both histories together. It preserves the history of both branches. You should merge when you want to preserve the full history of how work happened. This is commonly used for feature branches that are going to be merged into <code>main<\/code>, such as when you&rsquo;re adding new functionality.<\/p>\n\n\n\n<p>On the other hand, rebasing moves or replaces your branch&rsquo;s commits on top of another branch. It rewrites the history to create a linear and cleaner commit timeline. You should rebase when you want a clean linear history, like when you are updating your feature branch to pull in the latest changes from <code>main<\/code>. For example, if you are working on a feature, but you want to pull in the latest changes from <code>main<\/code> before merging.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-i-undo-my-last-commit\">How do I undo my last commit?<\/h2>\n\n\n\n<p>Let&rsquo;s say that you&rsquo;re in a situation where you&rsquo;ve already pushed your commit to your branch, and you want to undo it. You can undo your commit through the GitHub UI.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the commit that you want to undo on github.com.<\/li>\n\n\n\n<li>Scroll to the bottom of the commit and select the <strong>Revert<\/strong> button.<\/li>\n\n\n\n<li>GitHub creates a new commit that undoes the changes from your previous commit. It&rsquo;s important to realize that this doesn&rsquo;t erase the commit history, but rather puts a new change in place that undoes your previous changes. You can now either merge this commit directly or open a pull request with it. Opening a pull request is the safest option when others might be using the branch.<\/li>\n<\/ol>\n\n\n\n<p>If your changes are local, and you haven&rsquo;t yet pushed to a branch, you can locally revert your commit by running the following command.<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>git reset --soft HEAD~1<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"git reset --soft HEAD~1\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>This removes the commit from your local repository, but keeps your work staged so that you don&rsquo;t lose any changes. If you would rather undo your changes even locally to reset your workspace, you can use the following command. Just realize that by doing this, you might lose your work!<\/p>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>git reset --hard HEAD~1 <\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"git reset --hard HEAD~1\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-i-update-or-sync-a-forked-repository-on-github\">How do I update or sync a forked repository on GitHub?<\/h2>\n\n\n\n<p>Forking a repository creates your own copy of a project so that you can explore or make changes to it without affecting the original repository. This is especially important when you want to contribute to an open source project. Here&rsquo;s how you can fork a repository.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the repository that you want to fork on github.com.<\/li>\n\n\n\n<li>Select the <strong>Fork<\/strong> button at the top of the repository.<\/li>\n\n\n\n<li>Choose the <strong>Owner<\/strong> of this forked version, which in most cases will be your GitHub account.<\/li>\n\n\n\n<li>You may optionally rename the repository by providing a new <strong>Repository name<\/strong>. By default, forked repositories keep the names of the upstream repository.<\/li>\n\n\n\n<li>At the bottom of the window, select <strong>Create fork<\/strong>.<\/li>\n\n\n\n<li>This creates a full copy of the project under your account. To work on it locally, select the <strong>Code<\/strong> button and clone it to your machine.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&#128269; You can learn more about forking by checking <a href=\"https:\/\/gh.io\/gfb-forks\">our documentation<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Now that you&rsquo;ve created the fork, you want to make sure that you still pull in the latest changes from the upstream repository. Otherwise, your forked copy can quickly become out of date.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to the main page for your forked repository on <a href=\"http:\/\/github.com\">github.com<\/a>.<\/li>\n\n\n\n<li>At the top of the repository, select the <strong>Sync fork<\/strong> button.<\/li>\n\n\n\n<li>Select <strong>Update<\/strong> <strong>branch<\/strong> in the pop-up menu.<\/li>\n<\/ol>\n\n\n\n<p>When you do this, GitHub automatically pulls in the latest changes from the upstream repository to keep your fork up to date. You can also do this from the command line.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open a terminal and navigate to your repository.<\/li>\n\n\n\n<li>Set the upstream repository. Make sure to update the URL in the following command with your original repository URL.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>git remote add upstream YOUR_ORIGINAL_REPOSITORY_URL<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"git remote add upstream YOUR_ORIGINAL_REPOSITORY_URL\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<ol start=\"3\" class=\"wp-block-list\">\n<li>Pull in the latest changes.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>git fetch upstream<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"git fetch upstream\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<ol start=\"4\" class=\"wp-block-list\">\n<li>Merge the latest changes into your project. Note that the following command assumes that the upstream project uses main as the default branch. If it uses something else, you will need to use that branch in the following command.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>git merge upstream\/main<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"git merge upstream\/main\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<ol start=\"5\" class=\"wp-block-list\">\n<li>This updates your local copy with all of the changes to the upstream branch. So now, you need to push them to GitHub to make sure your repository is synchronized.<\/li>\n<\/ol>\n\n\n<div class=\"wp-block-code-wrapper\">\n<pre class=\"wp-block-code language-plaintext\"><code>git push origin main<\/code><\/pre>\n<clipboard-copy aria-label=\"Copy\" class=\"code-copy-btn\" data-copy-feedback=\"Copied!\" value=\"git push origin main\" tabindex=\"0\" role=\"button\"><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-copy js-clipboard-copy-icon\"><path d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"><\/path><path d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"><\/path><\/svg><svg aria-hidden=\"true\" height=\"16\" viewbox=\"0 0 16 16\" version=\"1.1\" width=\"16\" class=\"octicon octicon-check js-clipboard-check-icon\"><path d=\"M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z\"><\/path><\/svg><\/clipboard-copy><\/div>\n\n\n<p>Now you know how to work in your own copy of a project and keep your work synchronized!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-i-review-a-pull-request-on-github\">How do I review a pull request on GitHub?<\/h2>\n\n\n\n<p>A pull request (often abbreviated PR) is a place to share code and talk about changes. Here are three helpful practices to keep in mind when you&rsquo;re reviewing a pull request.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Start by understanding the goal of the pull request. Open the pull request and read the description. See if it has an associated issue, any screenshots, or notes from the author. Knowing the purpose helps you know why the changes exist and what you&rsquo;re looking for.<\/li>\n\n\n\n<li>Review the code changes in small sections. Open the <strong>Files changed<\/strong> tab and move through the changes one group at a time. If something isn&rsquo;t clear, leave a comment on that line. Ask questions, offer suggestions, or let the author know if you see a better approach. Keep your comments specific so they know exactly what you&rsquo;re referencing. It might help to open the code on your machine either via the command line or in a codespace to run the code yourself to ensure you understand. Use terms like &ldquo;nit&rdquo; if your comment is not a necessary suggestion for merging the pull request.<\/li>\n\n\n\n<li>Highlight what&rsquo;s going well. When you see code that&rsquo;s well organized, thoughtful, or teaches you something, mention it! Positive feedback reinforces good patterns and helps teammates feel supported.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&#128269; Learn more about reviewing pull requests by taking a look at <a href=\"https:\/\/gh.io\/gfb-reviews\">our documentation on the topic<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>When everything looks ready, use the <strong>Submit review<\/strong> button to approve the changes or request updates.<\/p>\n\n\n\n<p>Copilot code review can also help you understand pull requests and suggest improvements. Note that in order to use Copilot, your organization admin needs to enable Copilot for either your repository or your user account. Once Copilot is enabled, you don&rsquo;t need to install anything special&mdash;Copilot code review will automatically appear as an option in pull requests.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open a pull request on github.com where you want to use Copilot code review.<\/li>\n\n\n\n<li>Select <strong>Reviewers<\/strong> in the top-right.<\/li>\n\n\n\n<li>Select <strong>Copilot<\/strong> from the list of suggested reviewers.<\/li>\n<\/ol>\n\n\n\n<p>In a short amount of time, Copilot will complete its review. You can scroll down and see the comments left by Copilot. It always leaves a &ldquo;Comment&rdquo; type of review, not an &ldquo;Approve&rdquo; or &ldquo;Request changes&rdquo; type of review. This means that Copilot reviews do not count toward required approvals nor will they block merging changes.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td>&#128269; Learn more by checking out <a href=\"https:\/\/gh.io\/copilotcodereview\">our Copilot code review documentation<\/a>.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"next-steps\">Next steps<\/h2>\n\n\n\n<p>And that&rsquo;s a wrap! With this episode, we&rsquo;ve finished another season of GitHub for Beginners, ending with some of the most common questions we&rsquo;ve seen or heard. We hope that you found this information helpful, and don&rsquo;t forget to check out <a href=\"https:\/\/github.blog\/tag\/github-for-beginners\/\">our full library of GitHub for Beginners topics<\/a>.<\/p>\n\n\n\n<p>Happy coding!<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Find the answers to some of the most common GitHub-related questions.<\/p>\n","protected":false},"author":2278,"featured_media":96582,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"yes","_gh_post_is_no_robots":"","_gh_post_is_featured":"yes","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"","_gh_post_sq_img_id":"","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"https:\/\/www.youtube.com\/watch?v=ZgARMqR3qq8","_gh_post_additional_query_params":"","_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"_links_to":"","_links_to_target":""},"categories":[3298,3302],"tags":[3286],"coauthors":[2854],"class_list":["post-96581","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-developer-skills","category-github","tag-github-for-beginners"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.7 (Yoast SEO v27.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>GitHub for Beginners: Answers to some common questions - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"Find the answers to some of the most common GitHub-related questions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GitHub for Beginners: Answers to some common questions\" \/>\n<meta property=\"og:description\" content=\"Find the answers to some of the most common GitHub-related questions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-08T16:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720\" \/>\n\t<meta property=\"og:image:width\" content=\"1280\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kedasha Kerr\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kedasha Kerr\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/\"},\"author\":{\"name\":\"Natalie Guevara\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/37273876e05b418f9e59da3267030711\"},\"headline\":\"GitHub for Beginners: Answers to some common questions\",\"datePublished\":\"2026-06-08T16:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/\"},\"wordCount\":2584,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/GIT952_THUMB_GFB_B.png?fit=1280%2C720\",\"keywords\":[\"GitHub for beginners\"],\"articleSection\":[\"Developer skills\",\"GitHub\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/\",\"name\":\"GitHub for Beginners: Answers to some common questions - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/GIT952_THUMB_GFB_B.png?fit=1280%2C720\",\"datePublished\":\"2026-06-08T16:00:00+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/37273876e05b418f9e59da3267030711\"},\"description\":\"Find the answers to some of the most common GitHub-related questions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/GIT952_THUMB_GFB_B.png?fit=1280%2C720\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/GIT952_THUMB_GFB_B.png?fit=1280%2C720\",\"width\":1280,\"height\":720,\"caption\":\"Header image with the text 'Engineers answer your questions'\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/github-for-beginners-answers-to-some-common-questions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Developer skills\",\"item\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"GitHub\",\"item\":\"https:\\\/\\\/github.blog\\\/developer-skills\\\/github\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"GitHub for Beginners: Answers to some common questions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/37273876e05b418f9e59da3267030711\",\"name\":\"Natalie Guevara\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d34214ae173f24fa973342259c80a7987a36de04c1edf4ab27385db6fe99a838?s=96&d=mm&r=gd9cd9e7ea5c1a52ff241c7cd2df20d97\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d34214ae173f24fa973342259c80a7987a36de04c1edf4ab27385db6fe99a838?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d34214ae173f24fa973342259c80a7987a36de04c1edf4ab27385db6fe99a838?s=96&d=mm&r=g\",\"caption\":\"Natalie Guevara\"},\"description\":\"GitHub Blog Editor and Strategist\",\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/naguevara\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"GitHub for Beginners: Answers to some common questions - The GitHub Blog","description":"Find the answers to some of the most common GitHub-related questions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/","og_locale":"en_US","og_type":"article","og_title":"GitHub for Beginners: Answers to some common questions","og_description":"Find the answers to some of the most common GitHub-related questions.","og_url":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/","og_site_name":"The GitHub Blog","article_published_time":"2026-06-08T16:00:00+00:00","og_image":[{"width":1280,"height":720,"url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720","type":"image\/png"}],"author":"Kedasha Kerr","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kedasha Kerr","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#article","isPartOf":{"@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/"},"author":{"name":"Natalie Guevara","@id":"https:\/\/github.blog\/#\/schema\/person\/37273876e05b418f9e59da3267030711"},"headline":"GitHub for Beginners: Answers to some common questions","datePublished":"2026-06-08T16:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/"},"wordCount":2584,"image":{"@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720","keywords":["GitHub for beginners"],"articleSection":["Developer skills","GitHub"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/","url":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/","name":"GitHub for Beginners: Answers to some common questions - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720","datePublished":"2026-06-08T16:00:00+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/37273876e05b418f9e59da3267030711"},"description":"Find the answers to some of the most common GitHub-related questions.","breadcrumb":{"@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720","width":1280,"height":720,"caption":"Header image with the text 'Engineers answer your questions'"},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/developer-skills\/github\/github-for-beginners-answers-to-some-common-questions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"Developer skills","item":"https:\/\/github.blog\/developer-skills\/"},{"@type":"ListItem","position":3,"name":"GitHub","item":"https:\/\/github.blog\/developer-skills\/github\/"},{"@type":"ListItem","position":4,"name":"GitHub for Beginners: Answers to some common questions"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/37273876e05b418f9e59da3267030711","name":"Natalie Guevara","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d34214ae173f24fa973342259c80a7987a36de04c1edf4ab27385db6fe99a838?s=96&d=mm&r=gd9cd9e7ea5c1a52ff241c7cd2df20d97","url":"https:\/\/secure.gravatar.com\/avatar\/d34214ae173f24fa973342259c80a7987a36de04c1edf4ab27385db6fe99a838?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d34214ae173f24fa973342259c80a7987a36de04c1edf4ab27385db6fe99a838?s=96&d=mm&r=g","caption":"Natalie Guevara"},"description":"GitHub Blog Editor and Strategist","url":"https:\/\/github.blog\/author\/naguevara\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/06\/GIT952_THUMB_GFB_B.png?fit=1280%2C720","jetpack_shortlink":"https:\/\/wp.me\/pamS32-p7L","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/96581","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/2278"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=96581"}],"version-history":[{"count":6,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/96581\/revisions"}],"predecessor-version":[{"id":96594,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/96581\/revisions\/96594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/96582"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=96581"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=96581"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=96581"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=96581"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}