GitHub's web interface will not show the File Upload button until you've made your first commit.
When working with Git, every repository needs to be initialized with a starting set of files to work from, typically, in the form of a README file. Strangely, GitHub does not allow you to make this first commit by uploading files from the web interface.
There are two ways to make your first commit:
Initialize with a README
When creating a new repository, you can check Initialize this repository with a README to create the first commit for you.
Push commits to an existing project
If your repository was already created, you can use the Git command line to push commits from your PC.
- Open Git Bash.
- Change the current working directory to your local project.
Initialize the local directory as a Git repository.
Add the files in your new local repository. This stages them for the first commit.
git add .
# Adds the files in the local repository and stages them for commit.
# To unstage a file, use 'git reset HEAD YOUR-FILE'.
Commit the files that you've staged in your local repository.
git commit -m "First commit"
# 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.
At the top of your GitHub repository's Quick Setup page, click the clipboard icon to copy the remote repository URL.
In the Command prompt, add the URL for the remote repository where your local repository will be pushed.
git remote add origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL
Push the changes in your local repository to GitHub.
git push origin master
# Pushes the changes in your local repository up to the remote repository you
# specified as the origin
GitHub: Adding an existing project to GitHub using the command line