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." To add files larger than 100 MB, you must use Git Large File Storage. For more information, see "About large files on GitHub."
- 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 in GitHub Desktop."
On GitHub.com, navigate to the main page of the repository.
Above the list of files, select the Add file dropdown menu and click Upload files. Alternatively, you can drag and drop files into your browser.
To select the files you want to upload, drag and drop the file or folder, or click choose your files.
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."
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."
Click Propose changes.
Adding a file to a repository using the command line
You can upload an existing file to a repository on GitHub.com using the command line.
Tip: You can also add an existing file to a repository from the GitHub website.
This procedure assumes you've already:
- Created a repository on GitHub, or have an existing repository owned by someone else you'd like to contribute to
- Cloned the repository locally on your computer
push sensitive information to a remote repository. Sensitive information can include, but is not limited to:
- SSH keys
- AWS access keys
- API keys
- Credit card numbers
- PIN numbers
For more information, see "Removing sensitive data from a repository."
- 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.
- Open TerminalTerminalGit Bash.
- Change the current working directory to your local repository.
- 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'.
- 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.
- Push the changes in your local repository to GitHub.com.
$ git push origin YOUR_BRANCH # Pushes the changes in your local repository up to the remote repository you specified as the origin