GitHub、案件用とプライベート用のアカウントを複数持っています。
1台のPCで複数アカウントを持っていると、プライベート用のリポジトリにPushした時にコミットログに案件用アカウントが載ってしまうことがありました。
リポジトリごとにアカウントを切り替えられるように設定したときの覚書です。
ほぼほぼ下記記事の手順でうまくいったのですが、もしもう1回、時間を置いてチャレンジした場合に、私の理解レベルで進められるように初歩的な部分を追記した内容になっています。
GitHubで仕事用とプライベート用のアカウントを切り替えて使う | Black Everyday Company
前提条件
- GitHubアカウントを複数所持していること
-
以下の操作ができること
- Git/GitHub
- ターミナル
手順
秘密鍵を作る
.sshにディレクトリ移動して「github-private」という名前の秘密鍵を作成します。
# ディレクトリ移動
cd ~/.ssh
# 「github-private」という名前の秘密鍵を作成
ssh-keygen -t rsa -f github-private
lsコマンドを実行し、「github-private(秘密鍵)」「github-private.pub(公開鍵)」があることを確認します。
ls
.ssh/configの作成・編集
configファイルを作成し、ファイルを編集します。
# 「config」作成
touch config
# テキストエディタで開く(私はこれで慣れているので適量viコマンドなどに変更してください)
open config -t
以下をコピペし、自分の環境に合わせて書き換えていきます。
# 案件用
Host github.com
User ユーザー名
Port ポート番号
HostName ホスト名
IdentityFile ~/.ssh/秘密鍵のファイル名
TCPKeepAlive yes
IdentitiesOnly yes
# プライベート
Host github-private
User ユーザー名
HostName ホスト名
IdentityFile ~/.ssh/github-private.pub(さきほど設定した秘密鍵のファイル名)
TCPKeepAlive yes
IdentitiesOnly yes
GitHubにプライベート用アカウントでログインし、Setting > SSH and keys > New SSH keyにアクセスします。 (キャプチャ)
Title欄に自分がわかりやすい名前(github-privateにしました)、Key欄には作成した公開鍵「.ssh/github-private.pub」の中身をまるっとコピペします。 (キャプチャ)
プライベートのリポジトリにプライベートアカウントを適用させる
開発用ワークスペースに移動し、設定したいリポジトリをクローンします
# 開発用ワークスペースに移動(適量書き換えてください)
cd /Users/(ユーザ名)/workspace
# 設定したいプライベートのリポジトリをクローンする
git clone git@github-private:(ユーザ名)/(リポジトリ名).git
クローンしたリポジトリに移動後、git config
でプライベート用のGitHubユーザ名、メールアドレスを設定します。
ほかのリポジトリには適用させたくないので--global
はつけません。
Git - 最初のGitの構成
cd (リポジトリのディレクトリ名)
git config user.name (ユーザ名)
git config user.email (メールアドレス)
リポジトリにある「./.git/config」の中身を確認して、user欄のname、emailが書かれていることを確認します。
# configファイルを確認
vi ./.git/config
こうなってればOK。
[user] name = (ユーザ名) email = (メールアドレス)
試しに何かしらcommitして、git log
を実行します。
git log
Author欄がプライベートのユーザ名・メアドに変更されていたら完了です。
Author: (ユーザ名) <(メールアドレス)>
もう一度cloneしなおすのめんどくさい場合は、git remote set-url
でアドレスの向き先を変更する手もあります。
# 登録しているリモートリポジトリを確認
git remote -v
# アドレスの向き先を変更する
git remote set-url (リモート名) git@github-private:(ユーザ名)/(リポジトリ名).git