概要
SESで働いていたり副業で別の会社に所属したりしているとその先々でgitアカウントの作成を求められることがあります。PCはもちろん自前です。そうなると同じPCから別のgitアカウントでpushしたりしないといけません。当記事はその設定方法です。(*macで動作確認してます)
手順
ここから具体的な手順です。
- キーペアを作ってgithubに登録
- ~/.ssh/configに接続の設定を追加
- 疎通確認
- gitアカウントの切り替えコマンドを作成
キーペアを作ってgithubに登録
このステップはgithubに詳細があるのでそちらを参考にしてください。
https://docs.github.com/ja/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account?platform=mac
ターミナルでssh接続するためのキーを作成します。
-f
はファイル名を指定するオプションです。
$ ssh-keygen -f ~/.ssh/git_main
これで~/.ssh
フォルダ配下にgit_main
とgit_main.pub
というファイルが生成されたと思います。
次に公開鍵をgithubに登録していきます。
まずは以下のコマンドで公開鍵の中身をクリップボードにコピーします
$ pbcopy < ~/.ssh/git_main.pub
コピーできたらgithubの画面に行きます。
アイコン > setting
> SSH and GPC keys
> New SSH key
必要事項を入力したらAdd SSH key
をクリック。
これでssh keyの登録ができました。
~/.ssh/configに接続の設定を追加
ssh接続の情報を登録していきます。
$ vi ~/.ssh/config
# Gitメインアカウントのssh情報
Host github
HostName github.com
IdentityFile ~/.ssh/git_main
User git
Port 22
TCPKeepAlive yes
IdentitiesOnly yes
入力できたらesc
> :wq
で抜けます
疎通確認
# githubのところはconfigに設定したHostです。
$ ssh github
PTY allocation request failed on channel 0
Hi #{ユーザー名}! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
$
sshコマンドを打って上記のようなメッセージが表示されればssh接続成功です。
gitアカウントの切り替えコマンドを作成
$ vi ~/.bashrc
# gitアカウントを切り替える
function gitmain() {
git config --global user.name "ユーザー名"
git config --global user.email "メールアドレス"
source ~/.bashrc
}
入力できたらesc
> :wq
で抜けます
$ source ~/.bashrc
編集を読み込みます。
これで作業は終了です。記事の中では1つのアカウントしか設定していませんが、これをアカウント分追加することでアカウントの切り替えが簡単にできます。
以下のコマンドを打つとgitアカウントが切り替わります。
$ gitmain # functionに設定した関数名です
アカウントが切り替わったかは以下のコマンドで確認してください。
$ git config user.name
$ git confit user.email
追記 2023/9/27
cloneコマンド
$ git clone {設定したHost}:リポジトリURL
最後に
間違っている箇所を見つけたり、わからない箇所がありましたらコメントください。
僕の勤めている会社です。ご興味あれば是非。