一つのPCから複数のgithubアカウントを使い分けてpushする
一つのPCから複数のgithubアカウントを使い分けてpushする ということをやってみたいと思いました。
背景
というのも、仕事とプライベートみたいな使い分け方じゃなく、開発用のアカウントと、英語学習用のアカウントを使い分けたいなと思ったからです。
日々の学んだことや、日記的なことを英語でアウトプットしていきたいなと思いまして、何かないかなーと。
メモやテキストに書いてるだけなのもなんかなーと思いまして。あと、オンラインで管理したい。
じゃあブログでいいじゃないかと思ったわけですが、ブログだと、検索ができない。(と思ったのですが、普通に検索できますね、ブログでも良かったかもしれない。しかしせっかくエンジニアになったので、エンジニアっぽいことをやってみようじゃないかと)
一つのディレクトリにまとめとけば、エディタ開いて検索とかできるなと。ブログより素早くアクセスできるなと。(しかしgithub嬢では検索できないかぁ〜)
ということで、一つのリポジトリで管理しようと思いました。
これの何がいいって、githubで草を生やせること! これだけのためにgithubを使うと言っても過言でもない
ちゃんと習慣としてできているかが一目瞭然になること!これがいい。
というわけで、githubを使っていく運びになりました。
やりたいこと
特定のリポジトリからpushするときだけは勝手に別のgithubアカウントのリポジトリにしてくれる。
やったこと
githubアカウントを作る
もう一つのgithubアカウントを作ります。普通に。
sshキーを登録する
新しく作ったアカウントのために新しくsshキーを作成します。
$ ls ~/.ssh id_rsa id_rsa.pub #普段使いのやつ $ ssh-keygen -t rsa -C hoge@hoge.com -f fugafuga_rsa #パスフレーズなどは適当に。ファイル名は既存の鍵と被って上書きしないように。
githubから鍵を登録します。
fugafuga_rsa.pub
をgithubに登録。
githubでリポジトリを作成
作る。
configの設定
$ vi ~/.ssh/config
Host github.com-for-English User git Port 22 HostName github.com IdentityFile ~/.ssh/fugafuga_rsa TCPKeepAlive yes IdentitiesOnly yes
を追加。(ここら編怪しいです。)
git clone
$ git clone git@github.com:English/practice/listening.git
とするところを
$ git clone git@github.com-for-English:English/practice/listening.git
とする。
user情報を変更
このままだと、普段のアカウントのままなので、
$ git config --local user.name "アカウント名" $ git config --local user.email "メールアドレス"
とする。
commit $ push
これで晴れてremoteにpushできました〜
苦労したぜ…