Help us understand the problem. What is going on with this article?

githubの複数アカウントの扱い方

More than 5 years have passed since last update.

githubのアカウントを複数持っていて、意図と違うアカウントにpushされちゃってpermission deniedとかになって地味に解消するのに手間取ったので、今後そうならないようにメモっておきます。

陥った現象

個人のアカウントとチームのアカウントを二つ持っていて、とあるアプリケーションをlocalで開発後、githubの個人アカウントにpushしようと思ったら、チームの方にpushされてpermission deniedとかになってしまってpushができない。。。

~/.ssh/configとかAPP_ROOT/.git/configとかを色々いじってみて、ようやく解消したので、そのプロセスをメモしておきます。

githubにsshで接続するために下記を実行

ssh -T git@github.com

すると、認証が完了したときのメッセージが、

Hi {チームのアカウント名}/{APP名}! You've successfully authenticated, but GitHub does not provide shell access.

ここで気づくべきだけど、認証した!と思って、意気揚々とgit pushまでしようとすると、push先がチームのアカウントなのでpermissionがないよと。

対処法

git remoteの先を確認。

git remote -v

=> origin   git@github.com:{個人のアカウント名}/{APP名}.git (fetch)
   origin   git@github.com:{個人のアカウント名}/{APP名}.git (push)

となる。

さっき接続したgithub.comでは、チームのアカウントがpush先になってしまうので、
remoteを書き換える。

vi ~/.ssh/config

に以下の記述を追加する

Host github-mine
  HostName github.com
  User git
  Port 22
  TCPKeepAlive yes
  IdentitiesOnly yes
  IdentityFile ~/.ssh/{秘密鍵の名前}

で、

git remote remove origin
git remote add origin git@github-mine:{個人のアカウント名}/{APP名}.git

とやると、

git remote -v

=> origin   git@github-mine:{個人のアカウント名}/{APP名}.git (fetch)
   origin   git@github-mine:{個人のアカウント名}/{APP名}.git (push)

ってなるので、これでOK!!

git pushが通りましたとさ。

めでたし、めでたし。

okappy
アトラエ取締役CTO兼yenta開発責任者やってます。 エンジニアの横の繋がりを大事にしたいので、何かあればfacebookで気軽にメッセージください。Qiitaの投稿に関することとかしないこととか、なんでもOKです。 http://www.facebook.com/toshi.oka.831
https://yenta.talentbase.io/yenta/?cn=qiita
atrae
People Techカンパニーとして、転職サイトGreen, ビジネスマッチングアプリyenta, 組織改善プラットフォームwevoxなどのサービスを運営。全ての社員が誇りを持てる組織と事業の創造にこだわり、関わる人々がファンとして応援したくなるような魅力ある会社であり続けることを目指しています。
http://atrae.co.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした