[解決済み] 同じパソコンで複数のGitHubアカウント?
質問
自分のコンピュータから、実際のレポと git hub 上のレポの両方を操作しようとしています。
仕事用のアカウントを最初に設定し、すべて完璧に動作しています。
しかし、私のアカウントは、別のアカウント/電子メールで設定されている私のレポにプッシュすることができないようです。
仕事のキーを自分のアカウントにコピーしてみましたが、当然ながらキーは1つのアカウントにしか付けられないので、エラーになります。
両方のアカウントで、それぞれの GitHub 認証情報を使ってプッシュ/プルするにはどうすればよいですか?
解決方法は?
複数のSSH鍵ペアでSSHセットアップを行うだけです。
-
このリンクは簡単です(Thanks Eric)。 http://code.tutsplus.com/tutorials/quick-tip-how-to-work-with-github-and-multiple-accounts--net-22574
-
SSHキーの生成 (Win/msysgit) https://help.github.com/articles/generating-an-ssh-key/
最初のリンクから関連する手順。
-
SSH-keyを生成する
ssh-keygen -t ed25519 -C "[email protected]"
を選択し、プロンプトに従って名前を決定してください、例.id_ed25519_doe_company
. -
からGitHubにSSH公開鍵をコピーします。
~/.ssh/id_ed25519_doe_company.pub
を作成し、sshにその鍵のことを伝えます。ssh-add ~/.ssh/id_ed25519_doe_company
. -
を作成します。
config
のファイルを~/.ssh
を以下の内容で作成します。Host github-doe-company HostName github.com User git IdentityFile ~/.ssh/id_ed25519_doe_company
-
リモートの追加
git remote add origin git@github-doe-company:username/repo.git
を使って変更することもできます。git remote set-url origin git@github-doe-company:username/repo.git
また、異なるペルソナを使用して複数のリポジトリを操作している場合、個々のリポジトリでユーザー設定を適宜オーバーライドする必要があります。
ユーザー名、メールアドレス、GitHubトークンの設定 - 個々のレポの設定を上書きする https://help.github.com/articles/setting-your-commit-email-address-in-git/
お役に立てれば幸いです。
注
リポジトリごとに異なるメールを必要とする方もいらっしゃるでしょうから、gitから
2.13
にあるグローバル設定ファイルを編集することで、ディレクトリ単位で電子メールを設定することができます。
~/.gitconfig
のような条件文を使用します。
[user]
name = Pavan Kataria
email = [email protected]
[includeIf "gitdir:~/work/"]
path = ~/work/.gitconfig
そして、仕事専用の設定 ~/work/.gitconfig は次のようになります。
[user]
email = [email protected]
コメントでお知らせいただいた@alexgさん、ありがとうございました。
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] ローカルの Git リポジトリが元々クローンされた URL を特定するにはどうすればよいですか。
-
[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
-
[解決済み] Gitのプッシュでユーザー名とパスワードが必要
-
[解決済み] .gitconfigに自分用のユーザーを複数指定することはできますか?
-
[解決済み] 複数のリモートロケーションからプル/プッシュするにはどうすればよいですか?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】Gitで複数のコミットの著者名やコミッター名、Eメールを変更する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Gitマージで「すでに最新」と報告されるが、違いはある
-
[解決済み】以下の追跡されていないワーキングツリーファイルは、マージによって上書きされますが、私は気にしません。
-
[解決済み】gitが「変更をコミットするか、マージする前にstashしてください」と言うのを解決するには?
-
git commits with an error: 更新が拒否されました。現在のブランチの先端が、このブランチより後ろにあるためです。
-
[解決済み] リモートの <ブランチ名> とマージするように設定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み】Git Push Error: リポジトリデータベースにオブジェクトを追加する権限が不足しています。
-
[解決済み] git が「Pull is not possible because you have unmerged files」と表示するのはなぜですか?
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] "fatal: This operation must be run in work tree." というメッセージが表示されるのはなぜですか?
-
[解決済み] リモートブランチにプッシュできない、ブランチに解決できない