質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.51%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

1回答

774閲覧

githubの複数アカウントでpushする方法を教えてください

hase744

総合スコア57

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2022/09/14 12:19

前提

最近githubのサブアカウントを作ったのですがその時あたりからメインアカウントでpushできません。

実現したいこと

githubにメインアカウントでファイルをアップロードしたいです。

発生している問題・エラーメッセージ

ファイル名 % git push -u origin main remote: Permission to メインアカウント名/ファイル名.git denied to サブアカウント名. fatal: unable to access 'https://github.com/メインアカウント名/ファイル名.git/': The requested URL returned error: 403

というエラーが起きます。
問題はdenied toサブアカウントとなる点でメインアカウントとしてアクセスしたいのにサブアカウントでアクセスされてるっぽいです。

該当のソースコード

command

1ファイル名 % cat .git/config 2[core] 3 repositoryformatversion = 0 4 filemode = true 5 bare = false 6 logallrefupdates = true 7 ignorecase = true 8 precomposeunicode = true 9[remote "origin"] 10 url = https://github.com/メインアカウント名/ogm_test.git 11 fetch = +refs/heads/*:refs/remotes/origin/*

試したこと

サブアカを作ったのでconfigにアカウト情報を追加しました。
アクセス自体はできるっぽいです。

config

1#メインアカウント 2Host github-メインアカウント名 github-メインアカウント名.com 3 HostName github.com 4 IdentityFile ~/.ssh/id_メインアカウント名_rsa 5 User git 6 Port 22 7 TCPKeepAlive yes 8 IdentitiesOnly yes 9 10#サブアカウント 11Host github-サブアカウント名 github-サブアカウント名.com 12 HostName github.com 13 IdentityFile ~/.ssh/id_サブアカウント名_rsa #サブアカウントの鍵のファイル 14 User git 15 Port 22 16 TCPKeepAlive yes 17 IdentitiesOnly yes

command

1.ssh % ssh -T git@github-メインアカウント名.com 2Hi メインアカウント名! You've successfully authenticated, but GitHub does not provide shell access.

command

1.ssh % git config -l | grep user. 2user.name=メインアカウント名 3user.email=メインアカウントメールアドレス

configはメインアカウントになってます。

どうすればメインアカウントに切り替えることができますか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どのアカウントでリモートに接続するかは、url で変更します。
git config の user.name はログに残すユーザ名で、リモートの接続とは関係ないです。

現状、https で接続されているようなので、https でアカウントを指定するにはホスト名の前にアカウント名@を追加します。

plain

1 url = https://メインアカウント名@github.com/メインアカウント名/ogm_test.git

sshの場合は、github.com の代わりに .ssh/config に設定したホスト名を使います。

plain

1 url = git@github-メインアカウント名.com:メインアカウント名/ogm_test.git

投稿2022/09/15 00:29

bsdfan

総合スコア4515

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hase744

2022/09/15 12:19

できました! ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.51%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問