0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Githubを2つのアカウントで利用する方法

Posted at

概要

会社と個人など、別々のgitアカウントを1台のPCで利用する方法メモ

gitのアカウントをglobalに適当に設定して利用すると、会社のリモートリポジトリに間違えて個人のgitアカウントでpushしたりして事故ることがあるのでそれを回避したい

今回は、新しいPCに2つのPJをgit cloneすることを目的としています

結論

gitの設定をglobalにせずに、プロジェクト毎にlocal設定する

参考

手順

ざっくりとした手順

  1. [local] .sshディレクトリを作成
  2. [local] ssh keyをローカルで生成
  3. [local] .ssh/configにHost情報を設定記述
  4. [web] ssh keyを登録
  5. [local] git clone
  6. [local] local config設定

※ [local]と書いてるのは、lcoalで作業を行い、[web]と書いてるのはgithubの公式サイトにログインして作業を行うという意味

詳細手順

1. [local] ssh keyをローカルで生成

まずは、.sshファイルをユーザーディレクトリ直下に作成して移動

cd && mkdir .ssh && cd ~/.ssh

2. [local] ssh keyをローカルで生成

雛形は下記で、"メールアドレス"と"sshkeyを識別するID"は任意で入力

ssh-keygen -t ed25519 -C "{メールアドレス}" -f {sshkeyを識別するID}

実際の例

ssh-keygen -t ed25519 -C "boku-doraemon@gmail.com" -f id_ed25519_github_pj_dora

3. [local] .ssh/configにHost情報を設定記述

configファイルを生成して、Host情報を記述

touch config && vi config
Host {任意のホスト名}
HostName github.com
User git
IdentityFile ~/.ssh/{手順2で作成したsshkeyの名前}
IdentitiesOnly yes
UseKeychain yes
AddKeysToAgent yes

実際の例

Host github_pj_dora
HostName github.com
User git
IdentityFile ~/.ssh/id_ed25519_github_pj_dora
IdentitiesOnly yes
UseKeychain yes
AddKeysToAgent yes

上記を記入したら、エスケープ押して:wqでvimを閉じる。 viみたいなのがよう分からん人は下記参考

4. [web] ssh keyを登録

githubの公式サイトへいってローカルでこしらえたsshkeyを登録
下記でsshkeyをクリップボードへコピー

pbcopy < ~/.ssh/id_ed25519_github_pj_dora.pub
  1. githubにログインして、アカウントの設定ページアクセス
  2. 左側メニューの"SSH and GPG keys"をクリック
  3. 右上の"New SSH key"をクリック
  4. keyにさっきコピーしたssh keyを貼り付け
    スクリーンショット 2024-01-21 20.06.37.png
  5. "Add SHH key"で完了

※ 名前はいい感じに自動で生成される

5. [local] git clone

スクリーンショット 2024-01-21 20.12.53.png

githubプロジェクトのsshのcloneリンクをコピーして、ローカルのプロジェクトを管理したいディレクトリに行ってcloneするが、git@github.comgithub_pj_doraのように~/.ssh/configで設定したhost名に変更する(ココ地味だけど、重要でここを間違えてると一生パーミッションデニードの刑に処される)

# NG
git clone git@github.com:dora.inc/pj-dora.git

# 正しい例
git clone github_pj_dora:dora.inc/pj-dora.git

6. [local] local config設定

最後にcloneしたローカルPJに移動して、local設定を行う。

cd cloned_project

git config --local user.name "gitのアカウント名"
git config --local user.email "gitに登録しているメールアドレス"
# 参考にしている方がしていたのでとりあえずw
git config --local url."github_pj_dora".insteadOf "git@github.com"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?