Why do i get "error: failed to push some refs"?

this always means that you didn't synchronize the remote repository with local repo,so first you should synchronize them by using command git pull as following:

git checkout master    
git pull origin master 

after this process ,you will synchronize them ,and then you can push changes to remote repo by followings:

git add [filename/directory]  
git commit -m"input your message"   
git remote add origin https://github.com//yourname.git     
git push origin master

What you should be doing is creating the remote repository as a bare repository. A bare repository is just the git repo, without a current checkout (that is, it is like just the contents of the .git dir in a regular Git repo, so it contains objects and refs, but it doesn't have an index or working copy of the file hierarchy). If you try pushing to a non-bare repository, the working copy will get out of sync with what is committed, and cause the kinds of problems you are seeing here.

You can create a bare repository using git init --bare repo.git. Or you can clone an existing repository as a bare repo using git clone --bare original-repo new-repo.git.

If you want to have a checked out copy of the repository on your server, you will need to create a new, non-bare repo on the server, and then pull into that repo from the bare repo that you push to.


Here is another option.

git reset --mixed origin/master
git add .
git commit -m "Your message"
git push origin master

Tags:

Git