shadyabhi
shadyabhi

Reputation: 17234

Cannot push to github repo

My repo: https://[email protected]/shadyabhi/learnajax.git

shadyabhi@archlinux-N210 ~/github/learnajax $ cat .git/config 
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = https://[email protected]/shadyabhi/learnajax.git
    fetch = +refs/heads/*:refs/remotes/origin/*
shadyabhi@archlinux-N210 ~/github/learnajax $ git config -l
user.name=shadyabhi
[email protected]
merge.tool=vimdiff
github.token=1095de7027bVVVV01cfAAAAAa5fc8f6
color.ui=auto
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=https://[email protected]/shadyabhi/learnajax.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
shadyabhi@archlinux-N210 ~/github/learnajax $ git push -u origin master
Password: 
fatal: Authentication failed
shadyabhi@archlinux-N210 ~/github/learnajax $ 

Now, I cant push into my repo. I have checked the github.token its the same as my Account Settings. Ofcoarse, I am entering the right password but I get this error.

Upvotes: 23

Views: 43850

Answers (7)

t7ko
t7ko

Reputation: 291

I have hit the same problem just now. Apparently, when you use git in command line, it wants you to enter the access token instead of password. This is really weird, but it works.

$ git push origin HEAD
Username for 'https://github.com':        <--- your username here
Password for 'https://[email protected]':   <--- access token here O_O

PS: This is the instruction on creating token: https://help.github.com/articles/creating-an-access-token-for-command-line-use

Upvotes: 6

Peter Tadros
Peter Tadros

Reputation: 9297

if your username or password has special characters, you can replace it with the encoded for example, if your password is "test@2010", you will write it as "test%402010" and the config command will be like this git config remote.origin.url https://{username}:test%[email protected]/{repo_username}/{repo_name}.git

Upvotes: 1

chifung7
chifung7

Reputation: 2621

If your password contains special characters, git push won't work in Terminal. My workaround is open up emacs and do git push inside eshell.

Upvotes: 1

Kelley Kavanaugh
Kelley Kavanaugh

Reputation: 741

I was having a similar issue pushing my origin with the correct user and password. It turned out that I had turned on 2-factor Authentication and had forgotten. If you have 2-factor Authentication enabled you will need to create an application specific password to push your repo. https://help.github.com/articles/creating-an-access-token-for-command-line-use

Upvotes: 74

HPi
HPi

Reputation: 31

I had just same problem as previously described. Passwords with #, ¤ or " didn't seem to work, whatever I tried.

Seems to be more or less similar problem as with Microsoft Office 365 portal, where you can't use ex. ¤ character in password, if you are going to use mobile devices as well.

Github login works fine with all passwords, in web... but using whatever client, it doesn't.

Upvotes: 2

shadyabhi
shadyabhi

Reputation: 17234

There is some issue (if using https) if username contains "some" special characters.

Upvotes: 10

Mark Longair
Mark Longair

Reputation: 467741

As I understand it, github.token (and github.user) aren't used by git HTTP transport - they're only there for other tools that use GitHub's API, such as GitX and GitNub.

I think the "Authentication failed" error must be due to you entering the wrong password. (This should be your GitHub password rather than the password to your SSH private key.)

Upvotes: 6

Related Questions