Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
1
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@normalsalt

複数の Git アカウントを使い分ける方法

普段から、GitHub だけでなく、Bitbucket や GitLab も併用していて、それぞれのサイトで異なるアカウントを作成していると、複数の Git アカウントを持つことになり、

例えば、新しいプロジェクトをリモートリポジトリに push しようとすると、以下のように失敗してしまうことがあります。

% git push -u origin master
remote: Invalid username or password.
fatal: Authentication failed for 'https://github.com/user/repository.git/'

原因は、次のコマンドを実行してみれば分かる通り、

% git config user.name

使用するアカウントが、以下のコマンドを実行するか、もしくは Git の設定ファイル( ~/.gitconfig )を見れば確認できる、Git の「 グローバル設定 」から参照されているためです。

% git config --global user.name

もちろん、使おうとしているのが、メインで使用するアカウントであれば、この「 グローバル設定 」を上書きしておけばいいのですが、

そうでないなら、各リポジトリに固有の「 ローカル設定 」に、user.name を追加する方がいいでしょう。

追加の仕方は簡単で、例えば「 user 」という user.name を設定したい場合には、次のようなコマンドを実行します。

% git config user.name user

確認のコマンドに、引数を一つ増やすだけですね。

ちなみに –global に対応する –local というオプションは( デフォルトが –local になっているので )指定してもしなくても構いません。

これで、該当リポジトリの設定ファイル( .git/config )に user.name が追加されました。

% cat .git/config
[core]
        repositoryformatversion = 0
        filemode = true
        bare = false
        logallrefupdates = true
        ignorecase = true
[remote "origin"]
        url = https://github.com/user/repository.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[user]
        name = user
[branch "master"]
        remote = origin
        merge = refs/heads/master

必要に応じて、user.email も追加しておいてくださいね。

その他、詳細については、公式ドキュメントを参照してください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
1
Help us understand the problem. What are the problem?