githubにpushできないときの対処法

PCに複数のgitアカウントが混在している状態で、https形式でクローンしてソース改修してプッシュしようとすると
別のアカウントのユーザーが指定されてどうにもならなくなることがあります。

gitのバージョンが新しいすぎるのか、githubの仕様なのかよくわからないんですが、

~/.gitconfig

{project}/.git/config 

の設定をかえてもダメでした。

対処法としてはSSHの方を使うことでした、

ssh-keygen -t rsa -C "{email}"

秘密鍵と公開鍵が作成されるので、公開鍵をGithubの方に登録します。 その後

ssh -i ~/.ssh/id_rsa git@github.com

とやると

Hi {username}/{project}! You've successfully authenticated, but GitHub does not provide shell access.

と出て、

git clone git@github.com:{username}/{project}.git

でクローンして、変更、コミットが可能になります。