Skip to main content

Editing files

You can edit files directly on GitHub in any of your repositories using the file editor.

Editing files in your repository

Tip: If a repository has any protected branches, you can't edit or upload files in the protected branch using GitHub. For more information, see "About protected branches."

You can use GitHub Desktop to move your changes to a new branch and commit them. For more information, see "Committing and reviewing changes to your project in GitHub Desktop."

Note: GitHub's file editor uses CodeMirror.

  1. In your repository, browse to the file you want to edit.

  2. In the upper right corner of the file view, click to open the file editor.

    Screenshot of a file. In the header, a button, labeled with a pencil icon, is outlined in dark orange.

    Note: Instead of editing and committing the file using the default file editor, you can optionally choose to use the github.dev code editor by selecting the dropdown menu and clicking github.dev. You can also clone the repository and edit the file locally via GitHub Desktop by clicking GitHub Desktop.

    Screenshot of a file. In the header, a downwards-facing triangle icon is outlined in dark orange.

  3. In the text box, make any changes you need to the file.

  4. Above the new content, click Preview.

    Screenshot of a file in edit mode. Above the file's contents, a tab labeled "Preview" is outlined in dark orange.

  5. Click Commit changes...

  6. In the "Commit message" field, type a short, meaningful commit message that describes the change you made to the file. You can attribute the commit to more than one author in the commit message. For more information, see "Creating a commit with multiple authors."

  7. If you have more than one email address associated with your account on GitHub.com, click the email address drop-down menu and select the email address to use as the Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then a no-reply will be the default commit author email address. For more information about the exact form the no-reply email address can take, see "Setting your commit email address."

    Screenshot of a GitHub pull request showing a dropdown menu with options to choose the commit author email address. octocat@github.com is selected.

  8. Below the commit message fields, decide whether to add your commit to the current branch or to a new branch. If your current branch is the default branch, you should choose to create a new branch for your commit and then create a pull request. For more information, see "Creating a pull request."

    Screenshot of a GitHub pull request showing a radio button to commit directly to the main branch or to create a new branch. New branch is selected.

  9. Click Commit changes or Propose changes.

Editing files in another user's repository

When you edit a file in another user's repository, we'll automatically fork the repository and open a pull request for you.

  1. In another user's repository, browse to the folder that contains the file you want to edit. Click the name of the file you want to edit.

  2. Above the file content, click . At this point, GitHub forks the repository for you.

  3. In the text box, make any changes you need to the file.

  4. Above the new content, click Preview.

    Screenshot of a file in edit mode. Above the file's contents, a tab labeled "Preview" is outlined in dark orange.

  5. Click Commit changes...

  6. In the "Commit message" field, type a short, meaningful commit message that describes the change you made to the file. You can attribute the commit to more than one author in the commit message. For more information, see "Creating a commit with multiple authors."

  7. If you have more than one email address associated with your account on GitHub.com, click the email address drop-down menu and select the email address to use as the Git author email address. Only verified email addresses appear in this drop-down menu. If you enabled email address privacy, then a no-reply will be the default commit author email address. For more information about the exact form the no-reply email address can take, see "Setting your commit email address."

    Screenshot of a GitHub pull request showing a dropdown menu with options to choose the commit author email address. octocat@github.com is selected.

  8. Click Propose changes.

  9. Type a title and description for your pull request.

  10. Click Create pull request.