Adding a file to a repository

You can upload and commit an existing file to a repository on GitHub or by using the command line.

Adding a file to a repository on GitHub

Files that you add to a repository via a browser are limited to 25 MB per file. You can add larger files, up to 100 MB each, via the command line. For more information, see "Adding a file to a repository using the command line."

Tips:

  • You can upload multiple files to GitHub at the same time.
  • 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."

  1. On GitHub, navigate to the main page of the repository.
  2. Above the list of files, using the Add file drop-down, click Upload files. "Upload files" in the "Add file" dropdown
  3. Drag and drop the file or folder you'd like to upload to your repository onto the file tree. Drag and drop area
  4. At the bottom of the page, 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 co-authors." Commit message for your change
  5. 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 new pull request." Commit branch options
  6. Click Commit changes. Commit changes button

Adding a file to a repository using the command line

You can upload an existing file to a GitHub repository using the command line.

This procedure assumes you've already:

Warning: Never git add, commit, or push sensitive information to a remote repository. Sensitive information can include, but is not limited to:

  • Passwords
  • SSH keys
  • AWS access keys
  • API keys
  • Credit card numbers
  • PIN numbers

For more information, see "Removing sensitive data from a repository."

  1. On your computer, move the file you'd like to upload to GitHub into the local directory that was created when you cloned the repository.
  2. Open TerminalTerminalGit Bash.
  3. Change the current working directory to your local repository.
  4. Stage the file for commit to your local repository.
    $ git add .
    # Adds the file to your local repository and stages it for commit. To unstage a file, use 'git reset HEAD YOUR-FILE'.
  5. Commit the file that you've staged in your local repository.
    $ git commit -m "Add existing file"
    # Commits the tracked changes and prepares them to be pushed to a remote repository. To remove this commit and modify the file, use 'git reset --soft HEAD~1' and commit and add the file again.
  6. Push the changes in your local repository to GitHub.
    $ git push origin your-branch
    # Pushes the changes in your local repository up to the remote repository you specified as the origin

Further reading

Did this doc help you?Privacy policy

Help us make these docs great!

All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.

Make a contribution

Or, learn how to contribute.