2016-05-06 18 views
2

私は2つのgithubアカウントを持っています - tuomaoとmaomao1234、私のコンピュータのグローバル設定user.nameはtuomaoです。私はtuomaoのために私のコンピュータにsshキーを追加します。私はリポジトリ病院を作成するためにmaomao1234を使用します。コンピュータで2つのgithubアカウントを使用

私はそれを私のコンピュータにクローンします。私はこのリポジトリの設定を次のように変更しました。

git config user.name maomao1234 
git config user.email myemail 

その後、私はリポジトリの一部のファイルを編集して、自分の変更をコミットし、ここで私のログから

[email protected] /k/桌面资料/code/temp2/Hospital (master) 
$ git log 
commit 5a35e6dad5caf21c482db9e5e7fd62e01ee2b807 
Author: maomao1234 <[email protected]> 
Date: Fri May 6 11:51:55 2016 +0800 

をコミットログがあり、私たちは私のコミットユーザーが権利であることがわかります。

しかし、私は私のコミットをプッシュするGitのプッシュを使用する場合、それは誤り

$ git push https://github.com/maomao1234/Hospital.git 
remote: Permission to maomao1234/Hospital.git denied to tuomao. 
fatal: unable to access 'https://github.com/maomao1234/Hospital.git/': The   requested URL returned error: 403 

は、エラーログを形成たまたま、私たちはプッシュユーザーを見ることができますが、私はすでにリポジトリユーザーを変更しているright.Whyではなく、コミットユーザーは正しいが、プッシュユーザーには障害がありますか?

ユーザーmaomao1234で変更をプッシュする方法を教えてください。

+0

maomao1234のSSHキーもありますか? – pll33

+0

番号。しかし、私はmaomao1234のsshキーを追加しないでください、コンソールは私にパスワードを入力するように促すでしょうか? –

+0

gitコマンドを実行すると、tuomaoが書き込みアクセス権を持たないmaomao1234リポジトリにプッシュしようとしているtuomaoとしてログインしています。 git config設定は、特定のリポジトリの表示された名前と電子メールのみを変更します。ログイン/ログアウトやアカウントの切り替えには使用されません。 maomao1234で変更をプッシュしたい場合は、別のアカウントの別のSSHキーペアを設定する必要があります – pll33

答えて

1

git push https://...は、httpsプロトコルを使用しているため、sshキーが完全に無視されることを意味します。

ログからは、自分のコミットユーザーが正しいことがわかります。

これがプッシュするために使用したアカウントとは何の関係もありません:あなたはプッシュで、あなたが使用して、任意のはまだレポへ(HTTPSまたはsshで)プッシュすることができる任意のgit config user.nameでコミットを作成することができます時間、適切なアカウントまたはsshキー。

git remote -vをチェックすると、どのリモートURLが使用されているかを正確に確認できます。

httpsはユーザーとパスワードを尋ねる必要があります。
sshの1つは%HOME%\.ssh\id_rsa.pubmaomao1234に関連付けられたキーであり、tuomaoではないことを確認する必要があることを意味します。
複数のsshキーを管理する必要がある場合は、「How to work on personal GitHub repo from office computer whose SSH key is already added to a work related GitHub account?」を参照してください。

関連する問題